Freigeben über


IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE IOCTL (ehstorioctl.h)

Die IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE-Anforderung wird von Silotreibern und Anwendungen gesendet, um den Zustand einer Speichergerätewarteschlange zu ändern. E/A-Anforderungen in der Speichergerätewarteschlange werden gehalten, wenn das Gerät vorübergehend nicht autorisiert ist.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der Eingabepuffer bei Irp-AssociatedIrp.SystemBuffer> enthält eine ACT_QUEUE_STATE-Struktur. ACT_QUEUE_STATE wird in ehstorioctl.h wie folgt deklariert.

typedef struct tagACT_QUEUE_STATE
{
    BOOLEAN fFrozen;
} ACT_QUEUE_STATE;

Länge des Eingabepuffers

Die Länge einer ACT_QUEUE_STATE-Struktur .

Ausgabepuffer

Keine.

Länge des Ausgabepuffers

Keine.

Statusblock

Einer der folgenden Werte kann im Feld Status zurückgegeben werden.

Statuswert BESCHREIBUNG
STATUS_SUCCESS Der Warteschlangenstatus wurde erfolgreich geändert.
STATUS_INVALID_BUFFER_SIZE Die Länge des Eingabepuffers ist zu klein.
STATUS_ACCESS_DENIED Die IOCTL-Anforderung wurde nicht von einem Silotreiber ausgestellt.

Hinweise

Silotreiber oder Anwendungen können die E/A-Anforderungswarteschlange für Speichergeräte einfrieren, wenn eine temporäre Aufhebung der Autorisierung erforderlich ist. Normalerweise erfolgt die vorübergehende Aufhebung der Autorisierung während des Zustands mit geringem Stromverbrauch oder wenn eine Richtlinie die Sperre von Erweiterten Speichergeräten wie einer gesperrten Benutzersitzung erfordert. In einem solchen Fall ist es besser, ausstehende E/A-Anforderungen in die Zurückhaltung zu setzen, anstatt die E/A-Anforderungen fehlzuschlagen und Datenverlust zu verursachen.

Um einen Missbrauch der IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE-Anforderung durch Anwendungen zu verhindern, kann nur ein Treiber diese IOCTL ausstellen. Wenn sie von einer Benutzermodusanwendung gesendet wird, schlägt diese Anforderung mit STATUS_ACCESS_DENIED fehl.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8
Kopfzeile ehstorioctl.h (include EhStorIoctl.h)

Weitere Informationen

IOCTL_EHSTOR_DEVICE_GET_QUEUE_STATE