ChangerGetElementStatus, fonction (mcd.h)
ChangerGetElementStatus gère les aspects spécifiques de l’appareil 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 de retour
ChangerGetElementStatus retourne l’état retourné 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 changement qui ne prend pas en charge les informations de balise de volume, ChangeGetElementStatus retourne STATUS_INVALID_PARAMETER.
Remarques
Cette routine est requise.
ChangerGetElementStatus retourne l’état et, éventuellement, les informations de balise de volume pour tous les éléments d’un changeur ou l’état d’un nombre spécifique d’éléments d’un type particulier.
Le pilote de classe de changement vérifie les longueurs des mémoires tampons d’entrée et de sortie à l’emplacement de la pile d’E/S avant d’appeler ChangerGetElementStatus.
Irp ->SystemBuffer pointe vers une structure CHANGER_READ_ELEMENT_STATUS en tant que paramètre d’entrée qui indique les éléments pour lesquels signaler l’état et s’il faut signaler des informations de balise de volume.
ChangerGetElementStatus génère d’abord une SRB avec une base de données CDB pour lire la commande d’état de l’élément et l’envoie au pilote de port système pour récupérer l’état des éléments du changeur. Pour la plupart des types d’éléments, ChangerGetElementStatus renseignez ensuite une structure de CHANGER_ELEMENT_STATUS à Irp ->AssociatedIrp.SystemBuffer pour chaque élément pour lequel il signale l’état. Toutefois, 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 miniclasse doit signaler les données d’état de l’élément dans une structure de type CHANGER_ELEMENT_STATUS_EX au lieu d’utiliser CHANGER_ELEMENT_STATUS. ChangerGetElementStatus doit indiquer que les informations sur le produit sont présentes en définissant ELEMENT_STATUS_PRODUCT_DATA dans le membre indicateurs de de la structure.
ChangerGetElementStatus définit le champ Information dans le bloc d’état d’E/S sur le nombre d’octets retournés avant de revenir au pilote de classe de changement.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | mcd.h (include Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |