#include "stdafx.h"
|
|
#pragma hdrstop
|
|
#define NO_EXTERN
|
#include "PPmacDprRuntime.h"
|
#undef NO_EXTERN
|
|
HINSTANCE hPPmacDprLib = NULL;
|
|
//----------------------------------------------------------------------------
|
FARPROC GetPPmacDprFuncAddress(HMODULE hModule,LPCSTR lpProcName)
|
{
|
//TCHAR tmp[256];
|
FARPROC adr;
|
|
adr = GetProcAddress(hModule,lpProcName);
|
if (adr == NULL)
|
{
|
// sprintf(tmp, _T("Error in loading library function: %s"),lpProcName);
|
// MessageBox(NULL,tmp, _T(""),MB_ICONSTOP | MB_OK);
|
}
|
return adr;
|
}
|
|
//----------------------------------------------------------------------------
|
void ClosePPmacDprRuntimeLink()
|
{
|
if (hPPmacDprLib != NULL)
|
{
|
FreeLibrary(hPPmacDprLib);
|
hPPmacDprLib = NULL;
|
}
|
}
|
|
// Macro to make things consistant and easier
|
#define PPDPRDLL_LINK(var,type,name) var=(type)GetPPmacDprFuncAddress(hPPmacDprLib,name); \
|
if (var==NULL) goto load_err
|
|
|
//----------------------------------------------------------------------------
|
HINSTANCE OpenPPmacDprRuntimeLink()
|
{
|
// Get handle to PComm32.DLL
|
hPPmacDprLib = LoadLibrary(PPMACDPR_DRIVERNAME);
|
|
if (hPPmacDprLib == NULL)
|
{
|
MessageBox(NULL, _T("Error in loading PPmacDpr library."), _T("PPmacDpr"),MB_ICONSTOP | MB_OK | MB_TOPMOST);
|
return NULL;
|
}
|
else
|
{
|
// Get all COMM the function handles required
|
PPDPRDLL_LINK(PPmacDprOpen, PPMACDPROPEN, "PPmacDprOpen");
|
PPDPRDLL_LINK(PPmacDprClose, PPMACDPRCLOSE, "PPmacDprClose");
|
PPDPRDLL_LINK(PPmacDprConnect, PPMACDPRCONNECT, "PPmacDprConnect");
|
PPDPRDLL_LINK(PPmacDprDisconnect, PPMACDPRDISCONNECT, "PPmacDprDisconnect");
|
PPDPRDLL_LINK(PPmacDprIsConnected, PPMACDPRISCONNECTED, "PPmacDprIsConnected");
|
PPDPRDLL_LINK(PPmacDprGetDPRMem, PPMACDPRGETDPRMEM, "PPmacDprGetDPRMem");
|
PPDPRDLL_LINK(PPmacDprSetDPRMem, PPMACDPRSETDPRMEM, "PPmacDprSetDPRMem");
|
|
return hPPmacDprLib;
|
|
load_err:
|
FreeLibrary(hPPmacDprLib);
|
hPPmacDprLib = NULL;
|
return NULL;
|
}
|
}
|