Partager via


ChangerInitializeElementStatus, fonction (mcd.h)

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

Syntaxe

NTSTATUS ChangerInitializeElementStatus(
  [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

ChangerInitializeElementStatus retourne l’état retourné par le pilote de port système ou l’une des valeurs suivantes :

STATUS_SUCCESS

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

Si le changeur ne prend pas en charge l’initialisation d’une plage d’éléments d’un type particulier et changeInitializeElementStatus est appelé avec un type d’élément autre que AllElements, il retourne STATUS_INVALID_PARAMETER.

Remarques

Cette routine est requise.

ChangerInitializeElementStatus met à jour la mémoire interne du changeur avec des informations actuelles sur ses éléments.

Le pilote de classe de changement vérifie la longueur de la mémoire tampon d’entrée à l’emplacement de la pile d’E/S avant d’appeler ChangerInitializeElementStatus.

Irp->SystemBuffer pointe vers une structure de CHANGER_INITIALIZE_ELEMENT_STATUS en tant que paramètre d’entrée qui indique les éléments pour lesquels initialiser l’état et s’il faut initialiser l’état de l’élément avec les données obtenues à partir d’étiquettes de code barres.

Pour un changement SCSI, ChangerInitializeElementStatus génère un SRB avec une base de données CDB pour initialiser l’état de l’élément, traduit les adresses d’élément de base zéro en adresses spécifiques à l’appareil et envoie le SRB au pilote de port système.

ChangerInitializeElementStatus définit le champ d’informations de dans le bloc d’état d’E/S sur taille de(CHANGER_INITIALIZE_ELEMENT_STATUS) 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_LIST

CHANGER_INITIALIZE_ELEMENT_STATUS

ChangerGetElementStatus