CoLoadlibrary를 언제 그리고 왜 사용합니까?
-
06-07-2019 - |
문제
coloadlibrary ()에 대한 설명은 loadlibraryex ()와 거의 동일하다고 말하면 DLL을 프로세스에로드합니다. COM 클래스 작성 기능 -CocreateInstance () 및 CogetClassObject () - 둘 다 필요한 DLL을 프로세스에로드합니다.
그렇다면 왜 Coloadlibrary ()가 처음에 필요한 이유는 무엇이며 어떻게 사용해야합니까?
해결책
코드를 살펴보십시오.
mov edi,edi
push ebp
mov ebp,esp
push 8
push 0
push dword ptr [ebp+8]
call dword ptr [ole32!_imp__LoadLibraryExW (71eb1214)]
pop ebp
ret 8
그래서 그것은 단지 호출합니다.
LoadLibraryEx( FileName, NULL, LOAD_WITH_ALTERED_SEARCH_PATH ).
아마도, 일상은 단지 거꾸로 호환성을 위해 존재하는 것입니다. 아마도 Win16에 뿌리가있을 것입니다.
다른 팁
아마도 당신이 당신의 자신의 regsvr32.exe를 작성하고 있다면? 그러나 JP의 분해는 실제로 내 추측을 뒷받침하지 않습니다. 대신 LoadLibraryEx를 사용할 수 있기 때문입니다. 어쩌면 옛날에, Microsoft는 언젠가는 일반 DLL (d-com?)과 다른 방식으로로드되는 Com DLLS에 대해 계획했을 때, 이것은 보장하는 방법이었습니다. 미래 호환성.
제휴하지 않습니다 StackOverflow