Partager via


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

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