我正在将 C++ DLL 动态加载到用 C++ 编写的 exe 中。
我的要求是
1) 使用 LoadLibrary() 动态加载 DLL
2) 多次调用 GetProcAddress 以分配与在 DLL 中调用的函数相同的函数指针具有相同的签名。
3) 那么在调用第二个函数 (Function_2) 之前,我是否必须在我的代码中为 lpfn 函数指针释放任何资源?
//Function pointer
typedef int (__stdcall *EntryPoint)(int nContext, BYTE *pySeed, int nSeedSize, BYTE *pyKey, int *pnKeySize);
int main()
{
HMODULE hDllHandle = LoadLibrary("SA.dll"); // load dll
if (hDllHandle)
{
EntryPoint lpfn= 0;
if (lpfn = (EntryPoint)GetProcAddress(hDllHandle, "Function_1"))
{
//call the function using lpfn
}
else
{
}
//should I release any resources on lpfn before I call/assign
// second function
if (lpfn = (EntryPoint)GetProcAddress(hDllHandle, "Function_2"))
{
//call the function using lpfn
}
else
{
}
}
}