sync mapi32 with wine 1.1.34
[reactos.git] / reactos / dll / win32 / mapi32 / util.h
1 /*
2 * MAPI utility header file
3 *
4 * Copyright 2009 Owen Rudge for CodeWeavers
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21 #ifndef _MAPI_UTIL_H
22
23 #define _MAPI_UTIL_H
24
25 #include <mapi.h>
26 #include <mapix.h>
27
28 extern void load_mapi_providers(void);
29 extern void unload_mapi_providers(void);
30
31 typedef struct MAPI_FUNCTIONS {
32 LPMAPIADDRESS MAPIAddress;
33 LPMAPIDELETEMAIL MAPIDeleteMail;
34 LPMAPIDETAILS MAPIDetails;
35 LPMAPIFINDNEXT MAPIFindNext;
36 LPMAPIINITIALIZE MAPIInitialize;
37 LPMAPILOGOFF MAPILogoff;
38 LPMAPILOGON MAPILogon;
39 LPMAPILOGONEX MAPILogonEx;
40 LPMAPIREADMAIL MAPIReadMail;
41 LPMAPIRESOLVENAME MAPIResolveName;
42 LPMAPISAVEMAIL MAPISaveMail;
43 LPMAPISENDMAIL MAPISendMail;
44 LPMAPISENDDOCUMENTS MAPISendDocuments;
45 LPMAPIUNINITIALIZE MAPIUninitialize;
46
47 VOID (WINAPI *DeinitMapiUtil) (void);
48 HRESULT (WINAPI *DllCanUnloadNow) (void);
49 HRESULT (WINAPI *DllGetClassObject) (REFCLSID, REFIID, LPVOID *);
50 BOOL (WINAPI *FGetComponentPath) (LPCSTR, LPCSTR, LPSTR, DWORD, BOOL);
51 HRESULT (WINAPI *MAPIAdminProfiles) (ULONG, LPPROFADMIN *);
52 SCODE (WINAPI *MAPIAllocateBuffer) (ULONG, LPVOID *);
53 SCODE (WINAPI *MAPIAllocateMore) (ULONG, LPVOID, LPVOID *);
54 ULONG (WINAPI *MAPIFreeBuffer) (LPVOID);
55 LPMALLOC (WINAPI *MAPIGetDefaultMalloc) (void);
56 HRESULT (WINAPI *MAPIOpenLocalFormContainer) (LPVOID *);
57 HRESULT (WINAPI *HrThisThreadAdviseSink) (LPMAPIADVISESINK, LPMAPIADVISESINK*);
58 HRESULT (WINAPI *HrQueryAllRows) (LPMAPITABLE, LPSPropTagArray, LPSRestriction, LPSSortOrderSet, LONG, LPSRowSet *);
59 HRESULT (WINAPI *OpenStreamOnFile) (LPALLOCATEBUFFER, LPFREEBUFFER, ULONG, LPWSTR, LPWSTR, LPSTREAM *);
60 SCODE (WINAPI *ScInitMapiUtil) (ULONG ulReserved);
61 } MAPI_FUNCTIONS;
62
63 extern MAPI_FUNCTIONS mapiFunctions;
64
65 #endif