Partager via


CHANGER_ELEMENT_STATUS structure (ntddchgr.h)

La routine ChangerGetElementStatus retourne status informations dans cette structure.

Syntaxe

typedef struct _CHANGER_ELEMENT_STATUS {
  CHANGER_ELEMENT Element;
  CHANGER_ELEMENT SrcElementAddress;
  ULONG           Flags;
  ULONG           ExceptionCode;
  UCHAR           TargetId;
  UCHAR           Lun;
  USHORT          Reserved;
  UCHAR           PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
  UCHAR           AlternateVolumeID[MAX_VOLUME_ID_SIZE];
} CHANGER_ELEMENT_STATUS, *PCHANGER_ELEMENT_STATUS;

Membres

Element

Spécifie l’élément de type CHANGER_ELEMENT auquel cette structure fait référence.

SrcElementAddress

Spécifie l’élément de type CHANGER_ELEMENT à partir duquel le média actuellement présent dans cet élément a été déplacé le plus récemment. Ce membre n’est valide que si ELEMENT_STATUS_SVALID est également défini dans Indicateurs. Cette valeur doit être un décalage de base zéro par rapport à la valeur unique de l’appareil.

Flags

Indique le status de l’élément, qui peut être une ou plusieurs des valeurs suivantes.

ELEMENT_STATUS_FULL

L’élément contient un élément multimédia. Cet indicateur est valide si ElementType dans le membre Element est ChangerDrive, ChangerSlot ou ChangerTransport. Si ElementType a la valeur ChangerIEPort, cet indicateur n’est valide que si CHANGER_REPORT_IEPORT_STATE est également défini dans Features0 de GET_CHANGER_PARAMETERS.

ELEMENT_STATUS_IMPEXP

Le média de cet élément a été placé là par un opérateur. Cet indicateur est valide uniquement si ElementType dans le membre Element est ChangerIEPort.

ELEMENT_STATUS_EXCEPT

L’élément est dans un état anormal. Pour plus d’informations, consultez le membre ExceptionCode .

ELEMENT_STATUS_ACCESS

L’élément de transport du changeur peut accéder au média dans cet élément. Le pilote miniclasse efface cet indicateur pour indiquer que le média n’est pas accessible pour l’une des raisons suivantes : Si ElementType dans le membre Element est ChangerSlot, l’emplacement n’est pas présent dans le changeur (par exemple, le magazine contenant l’emplacement a été physiquement supprimé). Si ElementType a la valeur ChangerDrive, le lecteur est cassé ou a été supprimé. Si ElementType a la valeur ChangerIEPort, IEport est étendu.

ELEMENT_STATUS_EXENAB

L’élément prend en charge l’exportation de média via l’IEport du changeur.

ELEMENT_STATUS_INENAB

L’élément prend en charge l’importation de média via l’IEport du changeur.

ELEMENT_STATUS_LUN_VALID

Le numéro d’appareil dans le membre Lun est valide. Cet indicateur est valide uniquement si ElementType dans le membre Element est ChangerDrive.

ELEMENT_STATUS_ID_VALID

L’ID de cible SCSI dans le membre TargetID est valide. Cet indicateur est valide uniquement si ElementType dans le membre Element est ChangerDrive.

ELEMENT_STATUS_NOT_BUS

Le lecteur à l’adresse indiquée par Lun et TargetID se trouve sur un bus SCSI différent de celui du changeur lui-même.

ELEMENT_STATUS_INVERT

Le média dans l’élément a été retourné. Cet indicateur n’est valide que si l’indicateur ELEMENT_STATUS_SVALID est également défini.

ELEMENT_STATUS_SVALID

Le membre SourceElement et l’indicateur ELEMENT_STATUS_INVERT sont tous deux valides.

ELEMENT_STATUS_PVOLTAG

Les informations sur le volume principal dans le membre PrimaryVolumeID sont valides.

ELEMENT_STATUS_AVOLTAG

Les informations de volume de substitution dans le membre AlternateVolumeID sont valides.

ExceptionCode

Indique que l’élément est dans un état anormal. Ce membre est valide uniquement si ELEMENT_STATUS_EXCEPT est défini dans Indicateurs. ExceptionCode peut être défini sur l’une des valeurs suivantes.

ERROR_LABEL_UNREADABLE

Le lecteur de code-barres du changeur n’a pas pu lire l’étiquette de code-barres sur le support de cet élément, car le média est manquant, endommagé, mal positionné ou à l’envers.

ERROR_LABEL_QUESTIONABLE

L’étiquette peut ne pas être valide en raison d’une condition d’attention d’unité.

ERROR_SLOT_NOT_PRESENT

L’emplacement à cette adresse d’élément n’est actuellement pas installé dans le changeur. Un pilote de miniclasse définit ce code pour chaque emplacement d’un chargeur amovible pour indiquer que le magazine a été supprimé.

ERROR_DRIVE_NOT_INSTALLED

Le lecteur à cette adresse d’élément est absent. Si un changeur peut continuer à fonctionner sans le lecteur, son pilote miniclasse définit ERROR_DRIVE_NOT_INSTALLED pour le lecteur.

ERROR_TRAY_MALFUNCTION

Le lecteur à cette adresse d’élément a un bac qui doit être étendu pour charger ou supprimer le support, et le bac ne s’étend pas comme nécessaire.

ERROR_UNHANDLED_ERROR

Condition d’erreur inconnue.

TargetId

Spécifie l’ID cible SCSI du lecteur à cette adresse d’élément pour un changeur SCSI. Ce membre est valide uniquement si ElementType dans le membre Element est ChangerDrive et ELEMENT_STATUS_ID_VALID est défini dans Indicateurs.

Lun

Spécifie le numéro de périphérique SCSI du lecteur à l’adresse de cet élément. Ce membre est valide uniquement si ElementType dans le membre Element est ChangerDrive et ELEMENT_STATUS_LUN_VALID est défini dans Indicateurs.

Reserved

Réservé pour un usage futur. La valeur de ce membre doit être égale à zéro.

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

Spécifie l’identificateur de volume principal du média. Si le changeur prend en charge un lecteur de code-barres et que le lecteur est installé (comme indiqué par CHANGER_BAR_CODE_SCANNER_INSTALLED dans Features0 de GET_CHANGER_PARAMETERS), le pilote de miniclasse doit définir PrimaryVolumeID sur le code-barres du média. Si le changeur ne prend pas en charge un lecteur de code-barres, le pilote miniclasse DOIT définir PrimaryVolumeID sur la valeur précédemment affectée au média à l’aide de la routine ChangerQueryVolumeTags avec une action ASSERT_PRIMARY ou REPLACE_PRIMARY. Ce membre n’est valide que si ELEMENT_STATUS_PVOLTAG est également défini dans Indicateurs. Si l’identificateur de volume est manquant ou illisible, le pilote miniclasse doit effacer cet indicateur et définir l’erreur appropriée status. Cet identificateur ne doit pas être supérieur à MAX_VOLUME_ID_SIZE octets.

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

Spécifie une autre identification de volume pour le média. Ce membre n’est valide que pour les supports double face et se rapporte à l’ID du côté inversé. Il ne représente jamais un code-barres. Le pilote de miniclasse doit définir AlternateVolumeID sur la valeur précédemment affectée au média à l’aide de la routine ChangerQueryVolumeTags avec une action ASSERT_ALTERNATE ou REPLACE_ALTERNATE. L’identificateur ne doit pas dépasser MAX_VOLUME_ID_SIZE octets et n’est valide que si ELEMENT_STATUS_AVOLTAG est également défini dans Indicateurs.

Remarques

Pour la plupart des types d’éléments, les pilotes de miniclasse de changeur utilisent CHANGER_ELEMENT_STATUS pour signaler la status d’éléments spécifiés au pilote de classe de changeur. Toutefois, certains éléments de type ChangerDrive retournent des données d’informations sur le produit. Si l’appareil fournit des informations sur le produit, le pilote miniclass signale l’élément status données dans une structure de type CHANGER_ELEMENT_STATUS_EX au lieu d’utiliser CHANGER_ELEMENT_STATUS. Le pilote de miniclasse indique que des informations sur le produit sont présentes en définissant ELEMENT_STATUS_PRODUCT_DATA dans le membre Flags de la structure.

Configuration requise

Condition requise Valeur
En-tête ntddchgr.h

Voir aussi

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS