Freigeben über


Rückruffunktionen

Eine Rückruffunktion ist Code in einer verwalteten Anwendung, mit der eine nicht verwaltete DLL-Funktion eine Aufgabe abschließen kann. Aufrufe einer Rückruffunktion werden indirekt von einer verwalteten Anwendung, über eine DLL-Funktion und zurück zur verwalteten Implementierung übergeben. Einige der vielen DLL-Funktionen, die mit Dem Plattformaufruf aufgerufen werden, erfordern eine Rückruffunktion im verwalteten Code, um ordnungsgemäß ausgeführt zu werden.

Um die meisten DLL-Funktionen aus verwaltetem Code aufzurufen, erstellen Sie eine verwaltete Definition der Funktion und rufen sie dann auf. Der Prozess ist einfach.

Die Verwendung einer DLL-Funktion, die eine Rückruffunktion erfordert, enthält einige zusätzliche Schritte. Zunächst müssen Sie ermitteln, ob für die Funktion ein Rückruf erforderlich ist, indem Sie sich die Dokumentation für die Funktion ansehen. Als Nächstes müssen Sie die Rückruffunktion in Ihrer verwalteten Anwendung erstellen. Schließlich rufen Sie die DLL-Funktion auf und übergeben einen Zeiger als Argument an die Rückruffunktion.

Die folgende Abbildung fasst die Rückruffunktion und die Implementierungsschritte zusammen:

Diagramm, das den Rückrufprozess der Plattform anzeigt.

Rückruffunktionen eignen sich ideal für Situationen, in denen eine Aufgabe wiederholt ausgeführt wird. Eine weitere häufige Verwendung besteht in Enumerationsfunktionen, z. B . EnumFontFamilies, EnumPrinters und EnumWindows in der Windows-API. Die EnumWindows-Funktion listet alle vorhandenen Fenster auf Ihrem Computer auf und ruft die Rückruffunktion auf, um eine Aufgabe in jedem Fenster auszuführen. Anweisungen und ein Beispiel finden Sie unter How to: Implement Callback Functions.

Siehe auch