Freigeben über


Laden aller Importe für eine verzögert geladene DLL

Aktualisiert: November 2007

Die in delayhlp.cpp definierte __HrLoadAllImportsForDll-Funktion weist den Linker an, alle Importe aus einer DLL zu laden, die mit der Linkeroption /delayload festgelegt wurde.

Das Laden aller Importe ermöglicht Ihnen, die Fehlerbehandlung an einer Stelle im Code zu zentrieren, sodass in den eigentlichen Aufrufen der Importe keine Ausnahmebehandlung erforderlich ist. Außerdem wird dadurch eine Situation vermieden, in der ein Anwendungsprozess fehlschlägt, da ein Import vom Hilfscode nicht geladen werden konnte.

Das Verhalten von Hooks und der Fehlerbehandlung wird durch Aufrufen von __HrLoadAllImportsForDll nicht geändert; weitere Informationen finden Sie unter Fehlerbehandlung und Benachrichtigung.

Im folgenden Beispiel wird veranschaulicht, wie Sie __HrLoadAllImportsForDll aufrufen:

if (FAILED(__HrLoadAllImportsForDll("delay1.dll"))) {
   printf ( "failed on snap load, exiting\n" );
   exit(2);
}

Siehe auch

Konzepte

Linkerunterstützung für verzögertes Laden von DLLs