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