Partager via


IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)

Retourne l’état de tous les éléments ou de l’état d’un nombre spécifié d’éléments d’un type particulier.

Pour obtenir une description des types d’éléments possibles, consultez CHANGER_ELEMENT.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

La mémoire tampon à Irp->AssociatedIrp.SystemBuffer contient les données CHANGER_READ_ELEMENT_STATUS qui indiquent le type d’élément et le nombre d’éléments pour lesquels retourner l’état.

Si l’appelant définit le membre VolumeTagInfo de CHANGER_READ_ELEMENT_STATUS sur TRUE, l’état de l’élément retourné inclut les informations de balise de volume.

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

Parameters.DeviceIoControl.InputBufferLength dans l’emplacement de la pile d’E/S indique la taille, en octets, de la mémoire tampon de paramètres pour l’entrée, qui doit être >= sizeof(CHANGER_READ_ELEMENT_STATUS).

Mémoire tampon de sortie

Le pilote miniclass de changement retourne les données d’état de l’élément de changement dans la mémoire tampon à Irp->AssociatedIrp.SystemBuffer. Certains éléments de type ChangerDrive retourner des données d’informations sur le produit. Si l’appareil fournit des informations sur le produit, le pilote miniclass signale les données d’état de l’élément dans une structure de type CHANGER_ELEMENT_STATUS_EX. Le pilote miniclasse définit ELEMENT_STATUS_PRODUCT_DATA dans les indicateurs de membre de la structure pour indiquer qu’il contient des données d’informations sur le produit. Pour les éléments de tous les types autres que ChangerDrive, le pilote signale les données d’état des éléments dans une structure de type CHANGER_ELEMENT_STATUS.

Longueur de la mémoire tampon de sortie

Parameters.DeviceIoControl.OutputBufferLength indique la taille, en octets, de la mémoire tampon de paramètres pour la sortie. Pour les éléments de type ChangerDrive, cette valeur doit être >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS_EX). Pour les éléments de tous les autres types, cette valeur doit être >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS).

Bloc d’état

Le champ Informations est défini sur le nombre d’octets retournés. Le champ Status est défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_BUFFER_TOO_SMALL, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES, STATUS_INVALID_ELEMENT_ADDRESS ou STATUS_INVALID_PARAMETER.

Exigences

Exigence Valeur
d’en-tête ntddchgr.h (include Ntddchgr.h)

Voir aussi

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus