비 MFC DLL 초기화
비 MFC DLL을 초기화하려면 DLL 소스 코드에 DllMain이라는 함수가 포함되어 있어야 합니다.다음 코드에서는 DllMain 정의의 기본 형식을 보여 줍니다.
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
switch( ul_reason_for_call ) {
case DLL_PROCESS_ATTACH:
...
case DLL_THREAD_ATTACH:
...
case DLL_THREAD_DETACH:
...
case DLL_PROCESS_DETACH:
...
}
return TRUE;
}
[!참고]
Windows SDK 설명서에는 DllEntryPoint를 사용할 경우 링커 명령줄에 /ENTRY 옵션을 사용하여 진입점 함수의 실제 이름을 지정해야 한다고 나와 있습니다.그러나 Visual C++의 경우, 진입점 함수의 이름이 DllMain이면 /ENTRY 옵션을 사용하지 않아도 됩니다.실제로, /ENTRY 옵션을 사용하여 진입점 함수의 이름을 DllMain이 아닌 다른 이름으로 지정하면 C 런타임 라이브러리는 올바르게 초기화되지 않습니다.