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 |