Łączenie jawnie
Z jawnego łączenia aplikacji należy wywołać jawnie załadować biblioteki DLL w czasie wykonywania funkcji.Aby jawnie połączyć bibliotekę DLL, aplikacja musi:
Wywołanie LoadLibrary (lub podobnej funkcji) do załadowania biblioteki DLL i uzyskiwania dojścia modułu.
Wywołanie GetProcAddress uzyskać wskaźnik funkcji do każdego wywozu aplikacja chce wywołać funkcji.Ponieważ aplikacje wywołują funkcje biblioteki DLL za pomocą wskaźnika, kompilator nie zgłosi odwołań zewnętrznych, więc nie trzeba połączyć z biblioteki import.
Wywołanie FreeLibrary po wykonaniu z biblioteki DLL.
Na przykład:
typedef UINT (CALLBACK* LPFNDLLFUNC1)(DWORD,UINT);
...
HINSTANCE hDLL; // Handle to DLL
LPFNDLLFUNC1 lpfnDllFunc1; // Function pointer
DWORD dwParam1;
UINT uParam2, uReturnVal;
hDLL = LoadLibrary("MyDLL");
if (hDLL != NULL)
{
lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,
"DLLFunc1");
if (!lpfnDllFunc1)
{
// handle the error
FreeLibrary(hDLL);
return SOME_ERROR_CODE;
}
else
{
// call the function
uReturnVal = lpfnDllFunc1(dwParam1, uParam2);
}
}