Zulassen eines schnellen E/A-Vorgangs in einer Preoperation-Rückrufroutine
Unter bestimmten Umständen kann ein Minifiltertreiber einen schnellen E/A-Vorgang nicht zulassen, anstatt ihn abzuschließen. Wenn Sie einen schnellen E/A-Vorgang nicht verwenden, wird verhindert, dass der schnelle E/A-Pfad für den Vorgang verwendet wird.
Wie beim Abschließen eines E/A-Vorgangs bedeutet das Aufheben der Verweigerung eines schnellen E/A-Vorgangs, die Verarbeitung anzuhalten und an den Filter-Manager zurückzugeben. Die Aufhebung eines schnellen E/A-Vorgangs unterscheidet sich jedoch von dessen Abschluss. Wenn ein Minifiltertreiber einen schnellen E/A-Vorgang, der vom E/A-Manager ausgegeben wurde, nicht zuzulassen, kann der E/A-Manager denselben Vorgang wie ein gleichwertiger IRP-basierter Vorgang erneut ausführen.
Wenn die Voroperationsrückrufroutine eines Minifiltertreibers einen schnellen E/A-Vorgang nicht zugibt, führt der Filter-Manager folgendes aus:
Sendet den Vorgang nicht an Minifiltertreiber unterhalb des aktuellen Minifiltertreibers, an Legacyfilter oder an das Dateisystem.
Ruft die Rückrufroutinen nach der Operation der Minifiltertreiber oberhalb des aktuellen Minifiltertreibers im Minifiltertreiber instance Stapel auf.
Ruft nicht die Postoperation-Rückrufroutine des aktuellen Minifiltertreibers für den Vorgang auf, sofern vorhanden.
Ein Minifiltertreiber lässt einen schnellen E/A-Vorgang nicht zu, indem FLT_PREOP_DISALLOW_FASTIO aus der Preoperation-Rückrufroutine für den Vorgang zurückgegeben wird.
Die Rückrufroutine vor der Operation sollte das Feld IoStatus.Status der Rückrufdatenstruktur nicht festlegen, da der Filter-Manager dieses Feld automatisch auf STATUS_FLT_DISALLOW_FAST_IO festlegt.
FLT_PREOP_DISALLOW_FASTIO können nur für schnelle E/A-Vorgänge zurückgegeben werden. Informationen dazu, ob ein Vorgang ein schneller E/A-Vorgang ist, finden Sie unter FLT_IS_FASTIO_OPERATION.
Minifiltertreiber können keine FLT_PREOP_DISALLOW_FASTIO für IRP_MJ_SHUTDOWN-, IRP_MJ_VOLUME_MOUNT- oder IRP_MJ_VOLUME_DISMOUNT-Vorgänge zurückgeben.