Partager via


ChangerGetElementStatus, fonction (mcd.h)

ChangerGetElementStatus gère les aspects spécifiques d’un IRP de contrôle d’appareil avec le code IOCTL IOCTL_CHANGER_GET_ELEMENT_STATUS.

Syntaxe

NTSTATUS ChangerGetElementStatus(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Paramètres

[in] DeviceObject

Pointeur vers l’objet d’appareil qui représente le changeur.

[in] Irp

Pointeur vers l’IRP.

Valeur retournée

ChangerGetElementStatus retourne la status retournée par le pilote de port système ou l’une des valeurs suivantes :

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INSUFFICIENT_RESOURCES

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_ELEMENT_ADDRESS

Si VolumeTagInfo est défini pour un changeur qui ne prend pas en charge les informations de balise de volume, ChangerGetElementStatus retourne STATUS_INVALID_PARAMETER.

Remarques

Cette routine est obligatoire.

ChangerGetElementStatus retourne les status et, éventuellement, les informations de balise de volume pour tous les éléments d’un changeur, ou la status d’un nombre spécifique d’éléments d’un type particulier.

Le pilote de classe de changeur vérifie les longueurs de mémoire tampon d’entrée et de sortie dans l’emplacement de la pile d’E/S avant d’appeler ChangerGetElementStatus.

Irp-SystemBuffer> pointe vers une structure de CHANGER_READ_ELEMENT_STATUS en tant que paramètre d’entrée qui indique les éléments pour lesquels signaler status et s’il faut signaler les informations de balise de volume.

ChangerGetElementStatus génère d’abord un SRB avec une CDB pour lire l’élément status commande et l’envoie au pilote de port système pour récupérer le status des éléments du changeur. Pour la plupart des types d’éléments, ChangerGetElementStatus remplit ensuite une structure CHANGER_ELEMENT_STATUS dans Irp-AssociatedIrp.SystemBuffer > pour chaque élément pour lequel il signale status. Toutefois, certains éléments de type ChangerDrive retournent des données d’informations sur le produit. Si l’appareil fournit des informations sur le produit, le pilote miniclass doit signaler l’élément status données dans une structure de type CHANGER_ELEMENT_STATUS_EX au lieu d’utiliser CHANGER_ELEMENT_STATUS. ChangerGetElementStatus doit indiquer que les informations de produit sont présentes en définissant ELEMENT_STATUS_PRODUCT_DATA dans le membre Flags de la structure.

ChangerGetElementStatus définit le champ Information dans le bloc d’E/S status sur le nombre d’octets retournés avant de revenir au pilote de classe de changeur.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête mcd.h (inclure Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Voir aussi

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

CHANGER_READ_ELEMENT STATUS

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS