Partager via


IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE IOCTL (ehstorioctl.h)

La demande IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE est envoyée par les pilotes de silo et les applications pour modifier l’état d’une file d’attente de périphérique de stockage. Les demandes d’E/S dans la file d’attente d’appareil de stockage sont conservées lorsque l’appareil est temporairement non autorisé.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

La mémoire tampon d’entrée dans Irp-AssociatedIrp.SystemBuffer> contient une structure ACT_QUEUE_STATE. ACT_QUEUE_STATE est déclaré dans ehstorioctl.h comme suit.

typedef struct tagACT_QUEUE_STATE
{
    BOOLEAN fFrozen;
} ACT_QUEUE_STATE;

Longueur de la mémoire tampon d’entrée

Longueur d’une structure ACT_QUEUE_STATE .

Mémoire tampon de sortie

Aucun.

Longueur de la mémoire tampon de sortie

Aucun.

Bloc d’état

L’une des valeurs suivantes peut être retournée dans le champ État .

Valeur d’état Description
STATUS_SUCCESS L’état de la file d’attente a été modifié avec succès.
STATUS_INVALID_BUFFER_SIZE La longueur de la mémoire tampon d’entrée est trop petite.
STATUS_ACCESS_DENIED La demande IOCTL n’a pas été émise par un conducteur de silo.

Remarques

Les pilotes ou applications de silo peuvent geler la file d’attente des demandes d’E/S du périphérique de stockage si une non-utilisation temporaire est nécessaire. Normalement, une non-autorisation temporaire se produit pendant les états de faible consommation d’énergie ou lorsqu’une stratégie nécessite le verrouillage d’appareils de stockage amélioré, comme une session utilisateur verrouillée. Dans ce cas, il est préférable de mettre en attente les demandes d’E/S en attente plutôt que d’échouer les demandes d’E/S et de provoquer une perte de données.

Pour éviter tout abus de la demande de IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE par les applications, seul un pilote peut émettre ce IOCTL. Si elle est envoyée à partir d’une application en mode utilisateur, cette demande échoue avec STATUS_ACCESS_DENIED.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8
En-tête ehstorioctl.h (inclure EhStorIoctl.h)

Voir aussi

IOCTL_EHSTOR_DEVICE_GET_QUEUE_STATE