Freigeben über


Ü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.