Összevont erőforrás-tervek befejezése

Az "IRP befejezése" egy rövid kifejezés, amely azt jelenti, hogy "lehetővé teszi az illesztőprogram-verem minden tagjának, hogy befejezze az I/O-műveletet." Az IRP befejezése után az I/O-kezelő értesíti a kezdeményező alkalmazást, hogy a kért I/O-művelet befejeződött.

Ha egy illesztőprogram befejezte az IRP feldolgozását, meghívja az IoCompleteRequest parancsot (általában egy DpcForIsr-rutinból ). Emiatt az I/O-kezelő megállapítja, hogy a magasabb szintű illesztőprogramok beállították-e az IoCompletion-rutinokat az IRP-hez. Ha igen, az egyes IoCompletion-rutinokat sorban hívják meg, amíg a lánc összes rétegzett illesztőprogramja be nem fejezi a feldolgozást az IRP-ben.

Ha az összes illesztőprogram elvégezte az IRP-t, az I/O-kezelő a művelet eredeti kérelmezőjének adja vissza az állapotot. Vegye figyelembe, hogy az illesztőprogram által létrehozott IRP-t létrehozó magasabb szintű illesztőnek rendelkeznie kell egy IoCompletion-rutinnal a létrehozott IRP kiadásához.

Ez a szakasz a következő témaköröket tartalmazza:

Mikor kell elvégezni az IRP-t?

IrP-k végrehajtása a dispatch rutinokban

Az IoCompletion Rutinok használata