/* * MAPI utility header file * * 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 */ #ifndef _MAPI_UTIL_H #define _MAPI_UTIL_H #include #include extern void load_mapi_providers(void) DECLSPEC_HIDDEN; extern void unload_mapi_providers(void) DECLSPEC_HIDDEN; typedef struct MAPI_FUNCTIONS { LPMAPIADDRESS MAPIAddress; LPMAPIDELETEMAIL MAPIDeleteMail; LPMAPIDETAILS MAPIDetails; LPMAPIFINDNEXT MAPIFindNext; LPMAPIINITIALIZE MAPIInitialize; LPMAPILOGOFF MAPILogoff; LPMAPILOGON MAPILogon; LPMAPILOGONEX MAPILogonEx; LPMAPIREADMAIL MAPIReadMail; LPMAPIRESOLVENAME MAPIResolveName; LPMAPISAVEMAIL MAPISaveMail; LPMAPISENDMAIL MAPISendMail; LPMAPISENDMAILW MAPISendMailW; LPMAPISENDDOCUMENTS MAPISendDocuments; LPMAPIUNINITIALIZE MAPIUninitialize; VOID (WINAPI *DeinitMapiUtil) (void); HRESULT (WINAPI *DllCanUnloadNow) (void); HRESULT (WINAPI *DllGetClassObject) (REFCLSID, REFIID, LPVOID *); BOOL (WINAPI *FGetComponentPath) (LPCSTR, LPCSTR, LPSTR, DWORD, BOOL); HRESULT (WINAPI *MAPIAdminProfiles) (ULONG, LPPROFADMIN *); SCODE (WINAPI *MAPIAllocateBuffer) (ULONG, LPVOID *); SCODE (WINAPI *MAPIAllocateMore) (ULONG, LPVOID, LPVOID *); ULONG (WINAPI *MAPIFreeBuffer) (LPVOID); LPMALLOC (WINAPI *MAPIGetDefaultMalloc) (void); HRESULT (WINAPI *MAPIOpenLocalFormContainer) (LPVOID *); HRESULT (WINAPI *HrThisThreadAdviseSink) (LPMAPIADVISESINK, LPMAPIADVISESINK*); HRESULT (WINAPI *HrQueryAllRows) (LPMAPITABLE, LPSPropTagArray, LPSRestriction, LPSSortOrderSet, LONG, LPSRowSet *); HRESULT (WINAPI *OpenStreamOnFile) (LPALLOCATEBUFFER, LPFREEBUFFER, ULONG, LPWSTR, LPWSTR, LPSTREAM *); SCODE (WINAPI *ScInitMapiUtil) (ULONG ulReserved); HRESULT (WINAPI *WrapCompressedRTFStream) (LPSTREAM, ULONG, LPSTREAM *); } MAPI_FUNCTIONS; extern MAPI_FUNCTIONS mapiFunctions DECLSPEC_HIDDEN; extern HINSTANCE hInstMAPI32 DECLSPEC_HIDDEN; #endif