Überprüfen des Oplock-Zustands eines IRP_MJ_WRITE-Vorgangs
Die folgenden Oplock-Umbruchbedingungen gelten, wenn ein Stream geschrieben wird und der Schreibvorgang keine Paging-E/A ist.
Bedingungen für einen Anforderungstyp der Ebene 2:
Wechseln Sie immer auf Keine.
Es ist keine Bestätigung erforderlich. der Vorgang wird sofort fortgesetzt.
Bedingungen für alle anderen Anforderungstypen:
Unterbrechen Sie IRP_MJ_WRITE, wenn der Schreibvorgang auf einer FILE_OBJECT mit einer oplock-Taste stattfindet, die sich vom Schlüssel des FILE_OBJECT unterscheidet, der den Oplock besitzt. Wenn der Oplock unterbrochen ist, brechen Sie auf Keine um.
Die Bestätigungsanforderungen unterscheiden sich wie folgt:
Leseanforderung: Es ist keine Bestätigung erforderlich. der Vorgang wird sofort fortgesetzt.
Read-Handle Anforderung: Obwohl eine Bestätigung der Unterbrechung erforderlich ist, wird der Vorgang sofort fortgesetzt (z. B. ohne auf die Bestätigung zu warten).
Anforderungen der Ebene 1, Batch, Filter, Read-Write und Read-Write-Handle: Eine Bestätigung muss empfangen werden, bevor der Vorgang fortgesetzt wird.