Udostępnij przez


Kończenie IRP

"Kończenie IRP" to skrócona fraza, która oznacza "umożliwienie wszystkim członkom stosu sterowników ukończenia operacji wejścia/wyjścia". Po zakończeniu operacji wejścia/wyjścia menedżer operacji wejścia/wyjścia powiadamia inicjującą aplikację o zakończeniu żądanej operacji wejścia/wyjścia.

Po zakończeniu przetwarzania protokołu IRP sterownik wywołuje funkcję IoCompleteRequest (zazwyczaj z poziomu procedury DpcForIsr ). To powoduje, że menedżer we/wy określa, czy jakiekolwiek sterowniki wyższego poziomu ustawiły procedury IoCompletion dla IRP. Jeśli tak, każda procedura IoCompletion jest wywoływana w kolejności, aż każdy sterownik warstwowy w łańcuchu ukończy IRP.

Gdy wszyscy sterowniki zakończą przetwarzanie IRP, menedżer we/wy zwraca status do oryginalnego źródła żądania operacji. Należy pamiętać, że sterownik wyższego poziomu, który konfiguruje protokół IRP utworzony przez sterownik, musi podać procedurę IoCompletion , aby zwolnić utworzony protokół IRP.

Ta sekcja zawiera następujące tematy:

Kiedy ukończyć protokół IRP

Kończenie IRP w procedurach dyspozytorskich

Używanie procedur IoCompletion