MAPINIT.C

#include <windows.h> 
#include "mapi.h"
#include "mapinit.h"


extern HANDLE hLibrary;

int FAR PASCAL InitMAPI()
{

if ((hLibrary = LoadLibrary(MAPIDLL)) < (HANDLE)32)
return(ERR_LOAD_LIB);

if ((lpfnMAPILogon = (PFNMAPILOGON)GetProcAddress(hLibrary,SZ_MAPILOGON)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPILogoff= (PFNMAPILOGOFF)GetProcAddress(hLibrary,SZ_MAPILOGOFF)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPISendMail= (PFNMAPISENDMAIL)GetProcAddress(hLibrary,SZ_MAPISENDMAIL)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPISendDocuments= (PFNMAPISENDDOCUMENTS)GetProcAddress(hLibrary,SZ_MAPISENDDOC)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPIFindNext= (PFNMAPIFINDNEXT)GetProcAddress(hLibrary,SZ_MAPIFINDNEXT)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPIReadMail= (PFNMAPIREADMAIL)GetProcAddress(hLibrary,SZ_MAPIREADMAIL)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPISaveMail= (PFNMAPISAVEMAIL)GetProcAddress(hLibrary,SZ_MAPISAVEMAIL)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPIDeleteMail= (PFNMAPIDELETEMAIL)GetProcAddress(hLibrary,SZ_MAPIDELMAIL)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPIFreeBuffer= (PFNMAPIFREEBUFFER)GetProcAddress(hLibrary,SZ_MAPIFREEBUFFER)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPIAddress= (PFNMAPIADDRESS)GetProcAddress(hLibrary,SZ_MAPIADDRESS)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPIDetails= (PFNMAPIDETAILS)GetProcAddress(hLibrary,SZ_MAPIDETAILS)) == NULL)
return(ERR_LOAD_FUNC);

if ((lpfnMAPIResolveName= (PFNMAPIRESOLVENAME)GetProcAddress(hLibrary,SZ_MAPIRESOLVENAME)) == NULL)
return(ERR_LOAD_FUNC);

return(0);
}


int FAR PASCAL DeInitMAPI()
{

lpfnMAPILogon = NULL;
lpfnMAPILogoff= NULL;
lpfnMAPISendMail= NULL;
lpfnMAPISendDocuments= NULL;
lpfnMAPIFindNext= NULL;
lpfnMAPIReadMail= NULL;
lpfnMAPISaveMail= NULL;
lpfnMAPIDeleteMail= NULL;
lpfnMAPIFreeBuffer = NULL;
lpfnMAPIAddress= NULL;
lpfnMAPIDetails = NULL;
lpfnMAPIResolveName;

FreeLibrary(hLibrary);

return(0);
}