Share via


CHANGER_ELEMENT_STATUS-Struktur (ntddchgr.h)

Die ChangerGetElementStatus-Routine gibt status Informationen in dieser Struktur zurück.

Syntax

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;

Member

Element

Gibt das Element vom Typ CHANGER_ELEMENT an, auf das diese Struktur verweist.

SrcElementAddress

Gibt das Element vom Typ CHANGER_ELEMENT an, aus dem die Medien, die sich derzeit in diesem Element befinden, zuletzt verschoben wurden. Dieser Member ist nur gültig, wenn ELEMENT_STATUS_SVALID auch in Flags festgelegt ist. Bei diesem Wert muss es sich um einen nullbasierten Offset aus dem eindeutigen Wert des Geräts handelt.

Flags

Gibt die status des -Elements an, bei dem es sich um einen oder mehrere der folgenden Werte handeln kann.

ELEMENT_STATUS_FULL

Das Element enthält ein Medienelement. Dieses Flag ist gültig, wenn ElementType im ElementelementChangerDrive, ChangerSlot oder ChangerTransport lautet. Wenn ElementTypeChangerIEPort ist, ist dieses Flag nur gültig, wenn CHANGER_REPORT_IEPORT_STATE auch in Features0 von GET_CHANGER_PARAMETERS festgelegt ist.

ELEMENT_STATUS_IMPEXP

Die Medien in diesem Element wurden von einem Operator dort platziert. Dieses Flag ist nur gültig, wenn ElementType im ElementmemberChangerIEPort ist.

ELEMENT_STATUS_EXCEPT

Das Element befindet sich in einem abnormalen Zustand. Weitere Informationen finden Sie im Member ExceptionCode .

ELEMENT_STATUS_ACCESS

Das Transportelement des Changers kann auf das Medienelement in diesem Element zugreifen. Der Miniklassentreiber löscht dieses Flag, um anzugeben, dass die Medien aus einem der folgenden Gründe nicht zugänglich sind: Wenn ElementType im ElementelementChangerSlot ist, ist der Slot im Wechslungsmodul nicht vorhanden (z. B. wurde das Magazin mit dem Slot physisch entfernt). Wenn ElementTypeChangerDrive ist, ist das Laufwerk beschädigt oder wurde entfernt. Wenn ElementTypeChangerIEPort ist, wird der IEport erweitert.

ELEMENT_STATUS_EXENAB

Das -Element unterstützt den Export von Medien über den IEport des Changers.

ELEMENT_STATUS_INENAB

Das -Element unterstützt den Import von Medien über den IEport des Changers.

ELEMENT_STATUS_LUN_VALID

Die Gerätenummer im Lun-Element ist gültig. Dieses Flag ist nur gültig, wenn ElementType im ElementelementChangerDrive ist.

ELEMENT_STATUS_ID_VALID

Die SCSI-Ziel-ID im TargetID-Member ist gültig. Dieses Flag ist nur gültig, wenn ElementType im ElementelementChangerDrive ist.

ELEMENT_STATUS_NOT_BUS

Das Laufwerk an der von Lun und TargetID angegebenen Adresse befindet sich auf einem anderen SCSI-Bus als der Changer selbst.

ELEMENT_STATUS_INVERT

Die Medien im Element wurden umgedreht. Dieses Flag ist nur gültig, wenn auch das ELEMENT_STATUS_SVALID-Flag festgelegt ist.

ELEMENT_STATUS_SVALID

Das SourceElement-Element und ELEMENT_STATUS_INVERT-Flag sind gültig.

ELEMENT_STATUS_PVOLTAG

Informationen zum primären Volume im PrimaryVolumeID-Member sind gültig.

ELEMENT_STATUS_AVOLTAG

Informationen zu alternativen Volumes im AlternateVolumeID-Member sind gültig.

ExceptionCode

Gibt an, dass sich das Element in einem abnormalen Zustand befindet. Dieser Member ist nur gültig, wenn ELEMENT_STATUS_EXCEPT in Flags festgelegt ist. ExceptionCode kann auf einen der folgenden Werte festgelegt werden.

ERROR_LABEL_UNREADABLE

Der Barcodeleser des Veränderers konnte die Barcodebeschriftung auf dem Medienteil in diesem Element nicht lesen, da das Medium fehlt, beschädigt, falsch positioniert oder auf dem Kopf steht.

ERROR_LABEL_QUESTIONABLE

Die Bezeichnung kann aufgrund einer Unit Attention-Bedingung ungültig sein.

ERROR_SLOT_NOT_PRESENT

Der Slot an dieser Elementadresse ist derzeit nicht im Changer installiert. Ein Miniklassentreiber legt diesen Code für jeden Slot in einem herausnehmbaren Magazin fest, um anzugeben, dass das Magazin entfernt wurde.

ERROR_DRIVE_NOT_INSTALLED

Das Laufwerk an dieser Elementadresse ist nicht vorhanden. Wenn ein Wechslungsregler auch ohne laufwerksfrei betrieben werden kann, legt sein Miniklassentreiber ERROR_DRIVE_NOT_INSTALLED für das Laufwerk fest.

ERROR_TRAY_MALFUNCTION

Das Laufwerk an dieser Elementadresse verfügt über ein Fach, das erweitert werden muss, um Medien zu laden oder zu entfernen, und das Fach wird nicht wie erforderlich erweitert.

ERROR_UNHANDLED_ERROR

Unbekannte Fehlerbedingung.

TargetId

Gibt die SCSI-Ziel-ID des Laufwerks an dieser Elementadresse für einen SCSI-Changer an. Dieser Member ist nur gültig, wenn ElementType im ElementelementChangerDrive ist und ELEMENT_STATUS_ID_VALID in Flags festgelegt ist.

Lun

Gibt die SCSI-Gerätenummer des Laufwerks an dieser Elementadresse an. Dieses Element ist nur gültig, wenn ElementType im ElementelementChangerDrive ist und ELEMENT_STATUS_LUN_VALID in Flags festgelegt ist.

Reserved

Für die zukünftige Verwendung reserviert. Der Wert dieses Members muss 0 sein.

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

Gibt den Bezeichner des primären Volumes für die Medien an. Wenn der Changer einen Barcodeleser unterstützt und der Reader installiert ist (wie durch CHANGER_BAR_CODE_SCANNER_INSTALLED in Features0 von GET_CHANGER_PARAMETERS angegeben), muss der Miniklassentreiber PrimaryVolumeID auf den Strichcode des Mediums festlegen. Wenn der Changer keinen Barcodeleser unterstützt, sollte der Miniklassentreiber PrimaryVolumeID mithilfe der ChangerQueryVolumeTags-Routine mit einer ASSERT_PRIMARY- oder REPLACE_PRIMARY aktion auf den Wert festlegen, der zuvor dem Medium zugewiesen wurde. Dieser Member ist nur gültig, wenn ELEMENT_STATUS_PVOLTAG auch in Flags festgelegt ist. Wenn der Volumebezeichner fehlt oder nicht lesbar ist, sollte der Miniklassentreiber dieses Flag löschen und den entsprechenden Fehler status festlegen. Dieser Bezeichner darf nicht größer als MAX_VOLUME_ID_SIZE Bytes sein.

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

Gibt eine alternative Volumeidentifikation für die Medien an. Dieser Member ist nur für zweiseitige Medien gültig und bezieht sich auf die ID der invertierten Seite. Es stellt nie einen Barcode dar. Der Miniklassentreiber muss AlternateVolumeID auf den Wert festlegen, der dem Medium zuvor mit der ChangerQueryVolumeTags-Routine mit einer ASSERT_ALTERNATE- oder REPLACE_ALTERNATE-Aktion zugewiesen wurde. Der Bezeichner darf nicht größer als MAX_VOLUME_ID_SIZE Bytes sein und ist nur gültig, wenn ELEMENT_STATUS_AVOLTAG auch in Flags festgelegt ist.

Hinweise

Bei den meisten Elementtypen verwenden Changer-Miniklassentreiber CHANGER_ELEMENT_STATUS, um die status der angegebenen Elemente an den Changerklassentreiber zu melden. Einige Elemente vom Typ ChangerDrive geben jedoch Produktinformationsdaten zurück. Wenn das Gerät Produktinformationen bereitstellt, meldet der Miniklassentreiber das Element status Daten in einer Struktur vom Typ CHANGER_ELEMENT_STATUS_EX anstelle von CHANGER_ELEMENT_STATUS. Der Miniklassentreiber gibt an, dass Produktinformationen vorhanden sind, indem ELEMENT_STATUS_PRODUCT_DATA im Flags-Element der Struktur festgelegt wird.

Anforderungen

Anforderung Wert
Header ntddchgr.h

Weitere Informationen

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS