* Sync with trunk r64401.
[reactos.git] / 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 #define _MAPI_UTIL_H
23
24 extern void load_mapi_providers(void) DECLSPEC_HIDDEN;
25 extern void unload_mapi_providers(void) DECLSPEC_HIDDEN;
26
27 typedef struct MAPI_FUNCTIONS {
28 LPMAPIADDRESS MAPIAddress;
29 LPMAPIDELETEMAIL MAPIDeleteMail;
30 LPMAPIDETAILS MAPIDetails;
31 LPMAPIFINDNEXT MAPIFindNext;
32 LPMAPIINITIALIZE MAPIInitialize;
33 LPMAPILOGOFF MAPILogoff;
34 LPMAPILOGON MAPILogon;
35 LPMAPILOGONEX MAPILogonEx;
36 LPMAPIREADMAIL MAPIReadMail;
37 LPMAPIRESOLVENAME MAPIResolveName;
38 LPMAPISAVEMAIL MAPISaveMail;
39 LPMAPISENDMAIL MAPISendMail;
40 LPMAPISENDMAILW MAPISendMailW;
41 LPMAPISENDDOCUMENTS MAPISendDocuments;
42 LPMAPIUNINITIALIZE MAPIUninitialize;
43
44 VOID (WINAPI *DeinitMapiUtil) (void);
45 HRESULT (WINAPI *DllCanUnloadNow) (void);
46 HRESULT (WINAPI *DllGetClassObject) (REFCLSID, REFIID, LPVOID *);
47 BOOL (WINAPI *FGetComponentPath) (LPCSTR, LPCSTR, LPSTR, DWORD, BOOL);
48 HRESULT (WINAPI *MAPIAdminProfiles) (ULONG, LPPROFADMIN *);
49 SCODE (WINAPI *MAPIAllocateBuffer) (ULONG, LPVOID *);
50 SCODE (WINAPI *MAPIAllocateMore) (ULONG, LPVOID, LPVOID *);
51 ULONG (WINAPI *MAPIFreeBuffer) (LPVOID);
52 LPMALLOC (WINAPI *MAPIGetDefaultMalloc) (void);
53 HRESULT (WINAPI *MAPIOpenLocalFormContainer) (LPVOID *);
54 HRESULT (WINAPI *HrThisThreadAdviseSink) (LPMAPIADVISESINK, LPMAPIADVISESINK*);
55 HRESULT (WINAPI *HrQueryAllRows) (LPMAPITABLE, LPSPropTagArray, LPSRestriction, LPSSortOrderSet, LONG, LPSRowSet *);
56 HRESULT (WINAPI *OpenStreamOnFile) (LPALLOCATEBUFFER, LPFREEBUFFER, ULONG, LPWSTR, LPWSTR, LPSTREAM *);
57 SCODE (WINAPI *ScInitMapiUtil) (ULONG ulReserved);
58 HRESULT (WINAPI *WrapCompressedRTFStream) (LPSTREAM, ULONG, LPSTREAM *);
59 } MAPI_FUNCTIONS;
60
61 extern MAPI_FUNCTIONS mapiFunctions DECLSPEC_HIDDEN;
62 extern HINSTANCE hInstMAPI32 DECLSPEC_HIDDEN;
63
64 #endif /* _MAPI_UTIL_H */