Freigeben über


Entwickeln eigener Hilfsfunktionen

Möglicherweise soll eine eigene Version der Routine bereitgestellt werden, um spezielle Verarbeitungsschritte durchzuführen, die vom Namen der DLL oder von Importen abhängen. Hierzu stehen zwei Methoden zur Verfügung: eigene Codierung, die unter Umständen auf dem gelieferten Code basiert, oder ein Hook für die gelieferte Version mithilfe der bereits beschriebenen Benachrichtigungshooks erstellen.

  • Eigene Codierung
    Dies ist sehr einfach, da der zur Verfügung gestellte Code als Vorlage für den neuen Code verwendet werden kann. Selbstverständlich muss der Code den Aufrufkonventionen entsprechen, und er muss einen geeigneten Funktionszeiger als Rückgabewert verwenden, falls er zu den vom Linker generierten Thunks zurückkehrt. Innerhalb des Codes selbst können beliebige Schritte unternommen werden, um den Aufruf zu erfüllen oder ihn zu verlassen.

  • Verwenden des Benachrichtigungshooks für Verarbeitungsbeginn
    Am einfachsten ist es, einen neuen Zeiger auf eine benutzerdefinierte Benachrichtigungshookfunktion bereitzustellen, die dieselben Werte über die dliStartProcessing-Benachrichtigung empfängt wie die Standardhilfsfunktion. An dieser Stelle kann die Hookfunktion im Prinzip als neue Hilfsfunktion verwendet werden, da bei erfolgreicher Rückkehr zur Standardhilfsfunktion die weitere Verarbeitung in der Hilfsfunktion umgangen wird.

Siehe auch

Konzepte

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