Frage

Die Beschreibung von CoLoadLibrary () sagt, es ist so ziemlich das gleiche tut wie LoadLibraryEx () - lädt eine DLL in den Prozess. COM-Klassen Erstellungsfunktionen - CoCreateInstance () und CoGetClassObject () - beides auch die notwendige DLL in den Prozess geladen werden

.

Warum ist CoLoadLibrary () an erster Stelle benötigt und wie sie verwendet werden?

War es hilfreich?

Lösung

Haben Sie einen Blick auf den Code:

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

So ist es nur Anrufe:

LoadLibraryEx( FileName, NULL, LOAD_WITH_ALTERED_SEARCH_PATH ).

Vermutlich nur die Routine für die Abwärtskompatibilität besteht -. Es wahrscheinlich hat seine Wurzeln in Win16

Andere Tipps

Vielleicht, wenn Sie Ihre eigenen regsvr32.exe schreiben? Aber JP die Demontage nicht wirklich meine Vermutung unterstützen, weil Sie nur LoadLibraryEx stattdessen verwenden könnten. Vielleicht in den alten Tagen, geplant Microsoft auf COM-DLLs einen Tag in einer anderen Art und Weise als regulärer DLLs (D-COM?) Geladen, so war dies eine Möglichkeit, sicherzustellen, Zukunft Kompatibilität.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top