Owen Rudge : winemapi: Add Simple MAPI functions.

Alexandre Julliard julliard at winehq.org
Thu Dec 17 10:37:12 CST 2009


Module: wine
Branch: master
Commit: 44784356cc63630abbc063b48127ba1b99a87c1d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=44784356cc63630abbc063b48127ba1b99a87c1d

Author: Owen Rudge <orudge at codeweavers.com>
Date:   Wed Dec 16 11:22:34 2009 -0600

winemapi: Add Simple MAPI functions.

---

 dlls/winemapi/Makefile.in   |    3 +-
 dlls/winemapi/main.c        |   72 +++++++++++++++++++++++++++++++++++++++++++
 dlls/winemapi/sendmail.c    |   71 ++++++++++++++++++++++++++++++++++++++++++
 dlls/winemapi/winemapi.spec |   22 ++++++------
 4 files changed, 156 insertions(+), 12 deletions(-)

diff --git a/dlls/winemapi/Makefile.in b/dlls/winemapi/Makefile.in
index 6a4ec21..7cde1ff 100644
--- a/dlls/winemapi/Makefile.in
+++ b/dlls/winemapi/Makefile.in
@@ -6,7 +6,8 @@ MODULE    = winemapi.dll
 IMPORTS   = shlwapi shell32 kernel32
 
 C_SRCS = \
-	main.c
+	main.c \
+	sendmail.c
 
 @MAKE_DLL_RULES@
 
diff --git a/dlls/winemapi/main.c b/dlls/winemapi/main.c
index e4d4e55..5b6faef 100644
--- a/dlls/winemapi/main.c
+++ b/dlls/winemapi/main.c
@@ -24,6 +24,7 @@
 #include "winbase.h"
 #include "winerror.h"
 #include "objbase.h"
+#include "mapidefs.h"
 #include "mapi.h"
 #include "wine/debug.h"
 
@@ -37,3 +38,74 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
     TRACE("(%p,%d,%p)\n", hinstDLL, fdwReason, fImpLoad);
     return TRUE;
 }
+
+ULONG WINAPI MAPIAddress(LHANDLE session, ULONG_PTR uiparam, LPSTR caption,
+    ULONG editfields, LPSTR labels, ULONG nRecips, lpMapiRecipDesc lpRecips,
+    FLAGS flags, ULONG reserved, LPULONG newRecips, lpMapiRecipDesc * lppNewRecips)
+{
+    FIXME("(stub)");
+    return MAPI_E_NOT_SUPPORTED;
+}
+
+ULONG WINAPI MAPIDeleteMail(LHANDLE session, ULONG_PTR uiparam, LPSTR msg_id,
+    FLAGS flags, ULONG reserved)
+{
+    FIXME("(stub)");
+    return MAPI_E_NOT_SUPPORTED;
+}
+
+ULONG WINAPI MAPIDetails(LHANDLE session, ULONG_PTR uiparam, lpMapiRecipDesc recip,
+    FLAGS flags, ULONG reserved)
+{
+    FIXME("(stub)");
+    return MAPI_E_NOT_SUPPORTED;
+}
+
+ULONG WINAPI MAPIFindNext(LHANDLE session, ULONG_PTR uiparam, LPSTR msg_type,
+    LPSTR seed_msg_id, FLAGS flags, ULONG reserved, LPSTR msg_id)
+{
+    FIXME("(stub)");
+    return MAPI_E_NOT_SUPPORTED;
+}
+
+ULONG WINAPI MAPILogon(ULONG_PTR uiparam, LPSTR profile, LPSTR password,
+    FLAGS flags, ULONG reserved, LPLHANDLE session)
+{
+    TRACE("(0x%08lx %s %p 0x%08x 0x%08x %p)\n", uiparam,
+          debugstr_a(profile), password, flags, reserved, session);
+
+    if (session)
+        *session = 1;
+
+    return SUCCESS_SUCCESS;
+}
+
+ULONG WINAPI MAPILogoff(LHANDLE session, ULONG_PTR uiparam, FLAGS flags,
+    ULONG reserved)
+{
+    TRACE("(0x%08lx 0x%08lx 0x%08x 0x%08x)\n", session,
+          uiparam, flags, reserved);
+
+    return SUCCESS_SUCCESS;
+}
+
+ULONG WINAPI MAPIReadMail(LHANDLE session, ULONG_PTR uiparam, LPSTR msg_id,
+    FLAGS flags, ULONG reserved, lpMapiMessage msg)
+{
+    FIXME("(stub)");
+    return MAPI_E_NOT_SUPPORTED;
+}
+
+ULONG WINAPI MAPIResolveName(LHANDLE session, ULONG_PTR uiparam, LPSTR name,
+    FLAGS flags, ULONG reserved, lpMapiRecipDesc *recip)
+{
+    FIXME("(stub)");
+    return MAPI_E_NOT_SUPPORTED;
+}
+
+ULONG WINAPI MAPISaveMail(LHANDLE session, ULONG_PTR uiparam, lpMapiMessage msg,
+    FLAGS flags, ULONG reserved, LPSTR msg_id)
+{
+    FIXME("(stub)");
+    return MAPI_E_NOT_SUPPORTED;
+}
diff --git a/dlls/winemapi/sendmail.c b/dlls/winemapi/sendmail.c
new file mode 100644
index 0000000..3acc2fc
--- /dev/null
+++ b/dlls/winemapi/sendmail.c
@@ -0,0 +1,71 @@
+/*
+ * MAPISendMail implementation
+ *
+ * Copyright 2005 Hans Leidekker
+ * Copyright 2009 Owen Rudge for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "config.h"
+#include "wine/port.h"
+
+#include <stdio.h>
+#include <stdarg.h>
+
+#define COBJMACROS
+
+#include "windef.h"
+#include "winbase.h"
+#include "winerror.h"
+#include "mapi.h"
+#include "winreg.h"
+#include "shellapi.h"
+#include "shlwapi.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(winemapi);
+
+/**************************************************************************
+ *  MAPISendMail
+ *
+ * Send a mail.
+ *
+ * PARAMS
+ *  session  [I] Handle to a MAPI session.
+ *  uiparam  [I] Parent window handle.
+ *  message  [I] Pointer to a MAPIMessage structure.
+ *  flags    [I] Flags.
+ *  reserved [I] Reserved, pass 0.
+ *
+ * RETURNS
+ *  Success: SUCCESS_SUCCESS
+ *  Failure: MAPI_E_FAILURE
+ *
+ */
+ULONG WINAPI MAPISendMail(LHANDLE session, ULONG_PTR uiparam,
+    lpMapiMessage message, FLAGS flags, ULONG reserved)
+{
+    FIXME("(0x%08x 0x%08lx %p 0x%08x 0x%08x): stub\n", session, uiparam,
+           message, flags, reserved);
+
+    return MAPI_E_NOT_SUPPORTED;
+}
+
+ULONG WINAPI MAPISendDocuments(ULONG_PTR uiparam, LPSTR delim, LPSTR paths,
+    LPSTR filenames, ULONG reserved)
+{
+    return MAPI_E_NOT_SUPPORTED;
+}
diff --git a/dlls/winemapi/winemapi.spec b/dlls/winemapi/winemapi.spec
index 7091f72..83de280 100644
--- a/dlls/winemapi/winemapi.spec
+++ b/dlls/winemapi/winemapi.spec
@@ -1,11 +1,11 @@
-@ stub MAPIAddress
-@ stub MAPIDeleteMail
-@ stub MAPIDetails
-@ stub MAPIFindNext
-@ stub MAPILogon
-@ stub MAPILogoff
-@ stub MAPIReadMail
-@ stub MAPIResolveName
-@ stub MAPISaveMail
-@ stub MAPISendDocuments
-@ stub MAPISendMail
+@ stdcall MAPIAddress(ptr ptr str long str long ptr long long ptr ptr)
+@ stdcall MAPIDeleteMail(ptr ptr str long long)
+@ stdcall MAPIDetails(ptr ptr ptr long long)
+@ stdcall MAPIFindNext(ptr ptr str str long long ptr)
+@ stdcall MAPILogon(ptr str str long long ptr)
+@ stdcall MAPILogoff(ptr ptr long long)
+@ stdcall MAPIReadMail(ptr ptr str long long ptr)
+@ stdcall MAPIResolveName(ptr ptr str long long ptr)
+@ stdcall MAPISaveMail(ptr ptr ptr long long str)
+@ stdcall MAPISendDocuments(ptr str str str long)
+@ stdcall MAPISendMail(ptr ptr ptr long long)




More information about the wine-cvs mailing list