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 |