Я загружаю C ++ DLL динамически в исполняемый файл, написанный на C ++.
Мое требование:
1) Загрузка DLL динамически с помощью LoadLibrary ()
2)Вызов GetProcAddress более чем несколько раз для назначения того же указателя функции, что и функции, вызываемые в DLL, имеет одну и ту же сигнатуру.
3) Так что мне нужно освободить все ресурсы в моем коде для указателя функции lpfn перед тем, каквторая функция (Function_2) вызывается?
//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
{
}
}
}