#include "precomp.h"
#include "MapiInit.h"

    // MAPI32.DLL stuff
DECLARE_PROC_INST( MAPIINITIALIZE, MAPIInitialize );
DECLARE_PROC_INST( MAPIUNINITIALIZE, MAPIUninitialize );
DECLARE_PROC_INST( MAPIALLOCATEBUFFER, MAPIAllocateBuffer );
DECLARE_PROC_INST( MAPIALLOCATEMORE, MAPIAllocateMore );
DECLARE_PROC_INST( MAPIFREEBUFFER, MAPIFreeBuffer );
DECLARE_PROC_INST( MAPILOGONEX, MAPILogonEx );
DECLARE_PROC_INST( FREEPROWS, FreeProws );
DECLARE_PROC_INST( HRQUERYALLROWS, HrQueryAllRows );
DECLARE_PROC_INST( HRGETONEPROP, HrGetOneProp );
DECLARE_PROC_INST( MAPIADMINPROFILES, MAPIAdminProfiles);

    // MAPI Proc Mak
BEGIN_PROC_MAP( MAPI32 )
    PROC_MAP_ENTRY( MAPIInitialize )
    PROC_MAP_ENTRY( MAPIUninitialize )
    PROC_MAP_ENTRY( MAPIAllocateBuffer )
    PROC_MAP_ENTRY( MAPIAllocateMore )
    PROC_MAP_ENTRY( MAPIFreeBuffer )
    PROC_MAP_ENTRY( MAPILogonEx )
	PROC_MAP_ENTRY( MAPIAdminProfiles )
    PROC_MAP_ENTRY_EXPLICIT_NAME( FreeProws, FreeProws@4 )
    PROC_MAP_ENTRY_EXPLICIT_NAME( HrQueryAllRows, HrQueryAllRows@24 )
	PROC_MAP_ENTRY_EXPLICIT_NAME( HrGetOneProp, HrGetOneProp@12 )
END_PROC_MAP

bool LoadMapiFns( HINSTANCE* phInstMapi32DLL ) {
    
    HRESULT hr = LOAD_PROCS(TEXT("MAPI32.DLL"), MAPI32, phInstMapi32DLL );
    return SUCCEEDED(hr);
}

