문제

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에 대해 계획했을 때, 이것은 보장하는 방법이었습니다. 미래 호환성.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top