Freigeben über


BPIO_OPERATIONS-Aufzählung (ntddstor.h)

BPIO_OPERATIONS definiert die verschiedenen BypassIO-Vorgänge, die vom IOCTL_STORAGE_MANAGE_BYPASS_IO Steuerelementcode unterstützt werden.

Syntax

typedef enum _BPIO_OPERATIONS {
  BPIO_OP_ENABLE,
  BPIO_OP_DISABLE,
  BPIO_OP_QUERY
} BPIO_OPERATIONS;

Konstanten

 
BPIO_OP_ENABLE
Anforderungen, die BypassIO für das angegebene Volume oder Datenträger (Gerät) aktiviert werden, was bedeutet, dass ein Treiber möglicherweise nicht alle Lese-/Schreibvorgänge für diesen Stapel anzeigt.

ANMERKUNG

Alle Treiber in den Volume- und Speicherstapeln haben die Möglichkeit, die BypassIO-Aktivierungsanforderung zu veto, werden jedoch empfohlen, sie so weit wie möglich aktiviert zu halten.

Bei der Voroperation:

* Wenn ein Treiber BypassIO für das angegebene Gerät unterstützen kann, sollte er die Anforderung an den Stapel weiterleiten.
* Wenn ein Treiber BypassIO für das angegebene Gerät nicht unterstützen kann, sollte folgendes erfolgen:
* Aktualisieren Sie die BPIO_OUTPUT-Struktur, einschließlich des Vorgangs NTSTATUS, der beschreibt, warum die Aktivierungsanforderung vetoiert wurde, den Namen des Treibers und eine eindeutige, beschreibende Zeichenfolge mit zusätzlichen Details darüber, warum sie die Aktivierungsanforderung vetoiert hat.
* Vollständige IOCTL_STORAGE_MANAGE_BYPASS_IO mit STATUS_SUCCESS.

Während des Vorgangs kann der Treiber sehen, ob alle darunter liegenden Treiber BypassIO unterstützen können. Wenn ja, sollte der Treiber den erforderlichen Zustand für die Datei beibehalten und die Verarbeitung der Fertigstellung fortsetzen. Es liegt in der Verantwortung des Treibers, den Zustand für die ordnungsgemäße Verarbeitung von Anforderungen beizubehalten, die möglicherweise nicht mit dem Zustand "BypassIO-enabled" kompatibel sind.

Das Dateisystem verwaltet eine Anzahl pro Volume, wie viele Dateien zurzeit BypassIO aktiviert haben. Der vorgang BPIO_OP_ENABLE wird nur gesendet, wenn diese Anzahl von Null zu 1 wechselt.

Auch wenn ein Volume- oder Speicherstapeltreiber BypassIO vetoes, kann der Dateisystemstapel weiterhin BypassIO ausführen. Dies liegt daran, dass das Dateisystem filter weiterhin umgehen kann, wenn jemand BypassIO im Volumestapel vetoiert hat.

BPIO_OP_DISABLE
Anforderungen, die BypassIO für das angegebene Volume/datenträger deaktiviert werden. Er ermöglicht es einem Treiber, jeden zugeordneten BypassIO-Zustand zu bereinigen.

Das Dateisystem sendet diesen Vorgang, wenn die letzte BypassIO-fähige Datei deaktiviert oder geschlossen ist (die Anzahl pro Volume wechselt von 1 zu Null).

Wenn ein Treiber BPIO_OP_DISABLE empfängt, jedoch zurzeit bypassIO nicht aktiviert ist, sollte die Anforderung ignoriert werden.

Dieser Vorgang sollte nicht fehlgeschlagen sein.
BPIO_OP_QUERY
Abfragen, ob BypassIO für das angegebene Volume oder datenträger aktiviert werden kann.

Ein Speichertreiber sollte diese Anforderung ähnlich wie ein BPIO_OP_ENABLE-Vorgang verarbeiten und die gleichen Diagnoseinformationen in den entsprechenden Feldern in der BPIO_OUTPUT-Struktur ausfüllen. Der Hauptunterschied besteht darin, dass der Treiber während einer ABFRAGE nicht in den BypassIO ENABLE-Zustand wechselt.

Bemerkungen

Weitere Informationen finden Sie unter BypassIO für Speichertreiber.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 11
Header- ntddstor.h

Siehe auch

IOCTL_STORAGE_MANAGE_BYPASS_IO