Megosztás a következőn keresztül:


Visszahívási függvények

A visszahívási függvény egy felügyelt alkalmazás kódja, amely segít a nem felügyelt DLL-függvények feladatának elvégzésében. A visszahívási függvény hívásai közvetetten átjutnak egy felügyelt alkalmazásból egy DLL-függvényen keresztül, majd vissza a felügyelt implementációba. A platformhívással meghívott számos DLL-függvény közül néhányhoz egy visszahívási függvény szükséges a felügyelt kódban a megfelelő futtatáshoz.

Ha a legtöbb DLL-függvényt felügyelt kódból szeretné meghívni, hozza létre a függvény felügyelt definícióját, majd hívja meg. A folyamat egyszerű.

A visszahívási függvényt igénylő DLL-függvények használata további lépésekkel jár. Először meg kell határoznia, hogy a függvény igényel-e visszahívást a függvény dokumentációjának áttekintésével. Ezután létre kell hoznia a visszahívási függvényt a felügyelt alkalmazásban. Végül meghívja a DLL-függvényt, és argumentumként egy mutatót ad át a visszahívási függvénynek.

Az alábbi ábra a visszahívási függvényt és a megvalósítás lépéseit foglalja össze:

Diagram showing the platform invoke callback process.

A visszahívási függvények ideálisak olyan helyzetekben való használatra, amikor a feladatokat ismétlődően hajtják végre. Egy másik gyakori használat az enumerálási függvények, például az EnumFontFamilies, az EnumPrinters és az EnumWindows használata a Windows API-ban. Az EnumWindows függvény a számítógépen lévő összes meglévő ablakban számbavételt végez, és meghívja a visszahívási függvényt, hogy minden egyes ablakban végrehajtson egy feladatot. Útmutatásért és egy példaért tekintse meg a Visszahívási függvények implementálása című témakört.

Lásd még