ChangerInitializeElementStatus, fonction (mcd.h)
ChangerInitializeElementStatus gère les aspects spécifiques à 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 retournée
ChangerInitializeElementStatus retourne la status retournée 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 que ChangerInitializeElementStatus est appelé avec un type d’élément autre que AllElements, il retourne STATUS_INVALID_PARAMETER.
Remarques
Cette routine est obligatoire.
ChangerInitializeElementStatus met à jour la mémoire interne du changeur avec les informations actuelles sur ses éléments.
Le pilote de classe de changeur vérifie la longueur de la mémoire tampon d’entrée dans 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 status et s’il faut initialiser l’élément status avec des données obtenues à partir d’étiquettes de code-barres.
Pour un changeur SCSI, ChangerInitializeElementStatus génère un SRB avec une CDB pour initialiser l’élément status, traduit les adresses d’élément de base zéro en adresses spécifiques au périphérique et envoie le SRB au pilote de port système.
ChangerInitializeElementStatus définit le champ Information dans le bloc d’E/S status sur sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS) 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 |