Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Der DLL-Name, der __HrLoadAllImportsForDll übergeben wird, wird mit dem in der DLL selbst gespeicherten Namen verglichen; bei ihm wird die Groß- und Kleinschreibung berücksichtigt.
Im folgenden Beispiel wird veranschaulicht, wie Sie __HrLoadAllImportsForDll aufrufen:
if (FAILED(__HrLoadAllImportsForDll("delay1.dll"))) {
printf ( "failed on snap load, exiting\n" );
exit(2);
}