显示调用dll函数出错,请高手指教
afu00 2004-03-27 02:25:43 DLL里面的函数
#include "stdafx.h"
#include <afxdllx.h>
#include "mmsystem.h"
#include "TimeCtlStru.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static AFX_EXTENSION_MODULE TimeEventDLL = { NULL, NULL };
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
UNREFERENCED_PARAMETER(lpReserved);
if (dwReason == DLL_PROCESS_ATTACH)
{
TRACE0("TIMEEVENT.DLL Initializing!\n");
if (!AfxInitExtensionModule(TimeEventDLL, hInstance))
return 0;
new CDynLinkLibrary(TimeEventDLL);
}
else if (dwReason == DLL_PROCESS_DETACH)
{
TRACE0("TIMEEVENT.DLL Terminating!\n");
AfxTermExtensionModule(TimeEventDLL);
}
return 1;
}
_declspec(dllexport) void InitTimeEvent();
_declspec(dllexport) void InitTimeEvent()
{
int i;
timeGetDevCaps(&tc, sizeof(TIMECAPS));
for(i=0;i<20;i++)
{
TimeEventHead[i].ElementID=0;
TimeEventHead[i].Cyc=false;
TimeEventHead[i].TimeCount=0;
TimeEventHead[i].m_hwnd=NULL;
TimeEventHead[i].MESSAGEID=0;
TimeEventHead[i].Times=0;
}
Elements=0;
}
引用
hTimeEvent=LoadLibrary("TimeEvent.DLL");
typedef void(InitTimeEvent)();
InitTimeEvent* pInitTimeEvent;pInitTimeEvent=(InitTimeEvent*)GetProcAddress(hTimeEvent,"_InitTimeEvent");
if(pInitTimeEvent) pInitTimeEvent();
无论是"_InitTimeEvent",还是"InitTimeEvent"
获取的hTimeEvent!=NULL,但是pInitTimeEvent==NULL
请问为什么阿?