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
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) |