Freigeben über


Überprüfen des Oplock-Zustands eines IRP_MJ_READ Vorgangs

Die folgenden Oplock-Umbruchbedingungen gelten, wenn ein Stream gelesen wird. Wenn ein TxF-Transaktionsleser den Lesevorgang ausführt, wird diese Überprüfung nicht durchgeführt, da ein transacted Reader einen Writer ausschließt (d. h. ein Writer mit einem Oplock kann überhaupt nicht vorhanden sein).

Bedingungen für Anforderungstypen der Ebene 2, Filter, Read und Read-Handle

  • Der Oplock ist nicht unterbrochen.

  • Es ist keine Bestätigung erforderlich, und der Vorgang wird sofort fortgesetzt.

Bedingungen für Anforderungstypen der Ebene 1, Batch, Read-Write und Read-Write-Handle

  • Unterbrechen Sie IRP_MJ_READ, wenn der Lesevorgang auf einem FILE_OBJECT mit einem oplock-Schlüssel auftritt, der sich vom Schlüssel des FILE_OBJECT unterscheidet, dem der Oplock gehört. Wenn der Oplock unterbrochen ist:

    • Level 1- und Batch-Anforderungen werden auf Ebene 2 umgebrochen.

    • Read-Write Anforderungen werden auf Read umgebrochen.

    • Read-Write-Handle-Anforderungen werden in Read-Handle umgebrochen.

  • Eine Bestätigung muss empfangen werden, bevor der Vorgang fortgesetzt wird.