Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En återanropsfunktion är kod i ett hanterat program som hjälper en ohanterad DLL-funktion att slutföra en uppgift. Anrop till en återanropsfunktion skickas indirekt från ett hanterat program, via en DLL-funktion och tillbaka till den hanterade implementeringen. Vissa av de många DLL-funktioner som anropas med plattformsanrop kräver en återanropsfunktion i hanterad kod för att köras korrekt.
Om du vill anropa de flesta DLL-funktioner från hanterad kod skapar du en hanterad definition av funktionen och anropar den sedan. Processen är enkel.
Att använda en DLL-funktion som kräver en återanropsfunktion har några ytterligare steg. Först måste du avgöra om funktionen kräver ett återanrop genom att titta på dokumentationen för funktionen. Därefter måste du skapa återanropsfunktionen i ditt hanterade program. Slutligen anropar du DLL-funktionen och skickar en pekare till callback-funktionen som ett argument.
Följande bild sammanfattar återanropsfunktionen och implementeringsstegen:
Återanropsfunktioner är idealiska för användning i situationer där en uppgift utförs upprepade gånger. En annan vanlig användning är med uppräkningsfunktioner, till exempel EnumFontFamilies, EnumPrinters och EnumWindows i Windows-API:et. Funktionen EnumWindows går igenom alla befintliga fönster på datorn och anropar återanropsfunktionen för att utföra en uppgift på varje fönster. Instruktioner och ett exempel finns i Så här: Implementera återanropsfunktioner.