Partager via


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

Voir aussi

CHANGER_ELEMENT_LIST

CHANGER_INITIALIZE_ELEMENT_STATUS

ChangerGetElementStatus