dll_process_verifier 플래그와 함께 dllmain은 언제 호출됩니까?
문제
Windows에서 표준 DLL 진입 점을 DLLMAIN이라고합니다. 두 번째 매개 변수는 dword입니다. ul_reason_for_call
.
MSDN 에서이 두 번째 매개 변수에 대한 가능한 값을 찾았습니다. 다음은 분명합니다.
DLL_PROCESS_ATTACH:
DLL_THREAD_ATTACH:
DLL_THREAD_DETACH:
DLL_PROCESS_DETACH:
그러나
DLL_PROCESS_VERIFIER
이 깃발로 진입 점은 언제 호출됩니까? DLL의 '정상'작동 중에 걱정해야합니까?
나는 단지 보인다 DLL_PROCESS_VERIFIER
2008 년이 아닌 Visual Studio 2005의 헤더 파일에서.
해결책
이론적으로 Microsoft는 새로운 사용법이 필요하다고 느낄 때마다 새로운 사용법과 플래그를 발명 할 수 있다고 생각합니다. 따라서 간단한 규칙은 코드가 예상치 못한 값을 용납하도록하는 것입니다. 즉, 0을 반환하여 나머지를 처리하고 무시 해야하는 경우를 처리하기 위해 작성하십시오.
다른 팁
이것은 정말 모호합니다. 문서화되지 않았습니다 SDK SDK 헤더 파일에는 표시되지 않습니다. Google은 몇 번의 타격 만 생산하며 대부분의 사이트는 다운되거나 신뢰할 수 없습니다. 내가 얻는 유일한 적절한 인기는 Xbox 코드입니다. 단지 선언하지만 실제로 사용하지는 않습니다.
나는 이것이 일반적인 Windows 프로그램에서 만난 실제 코드라고 충분히 확신하지 못합니다.
나는 그것이 통과되면 가치를 가질 수 있다고 생각합니다. 응용 프로그램 검증 자. 종류의 추측 :)
제휴하지 않습니다 StackOverflow