Freigeben über


CHANGER_ELEMENT_STATUS Struktur (ntddchgr.h)

Die ChangerGetElementStatus Routine gibt Statusinformationen 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;

Angehörige

Element

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

SrcElementAddress

Gibt das Element vom Typ CHANGER_ELEMENT an, aus dem die Medien, die sich derzeit in diesem Element befindet, zuletzt verschoben wurden. Dieses Element ist nur gültig, wenn ELEMENT_STATUS_SVALID auch in Flagsfestgelegt ist. Dieser Wert muss ein nullbasierter Offset aus dem gerätespezifischen Wert sein.

Flags

Gibt den 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 element Element Member ChangerDrive, ChangerSlotoder ChangerTransportist. Wenn ElementType-ChangerIEPort-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 Element Member ChangerIEPortist.

ELEMENT_STATUS_EXCEPT

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

ELEMENT_STATUS_ACCESS

Das Transportelement des Changers kann auf die Medienelemente in diesem Element zugreifen. Der Miniklassentreiber löscht dieses Kennzeichen, um anzugeben, dass die Medien aus einem der folgenden Gründe nicht zugänglich sind: Wenn ElementType im element Element Member ChangerSlotist, ist der Steckplatz nicht im Änderungsmodul vorhanden (z. B. das Magazin mit dem Steckplatz wurde physisch entfernt). Wenn ElementType-ChangerDrive-ist, wird das Laufwerk beschädigt oder entfernt. Wenn ElementTypeChangerIEPortist, 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 Mitglied ist gültig. Dieses Flag ist nur gültig, wenn ElementType- im element Element Member ChangerDrive-ist.

ELEMENT_STATUS_ID_VALID

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

ELEMENT_STATUS_NOT_BUS

Das Laufwerk an der Adresse, die durch Lun angegeben wird, und TargetID- sich auf einem anderen SCSI-Bus befindet als der Changer selbst.

ELEMENT_STATUS_INVERT

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

ELEMENT_STATUS_SVALID

Das SourceElement Member und ELEMENT_STATUS_INVERT Flag sind beide gültig.

ELEMENT_STATUS_PVOLTAG

Primäre Volumeinformationen in der PrimaryVolumeID Member sind gültig.

ELEMENT_STATUS_AVOLTAG

Alternative Volumeinformationen im AlternateVolumeID Member sind gültig.

ExceptionCode

Gibt an, dass sich das Element in einem abnormen Zustand befindet. Dieses Element ist nur gültig, wenn ELEMENT_STATUS_EXCEPT in Flagsfestgelegt ist. ExceptionCode- kann auf einen der folgenden Werte festgelegt werden.

ERROR_LABEL_UNREADABLE

Der Balkencodeleser des Changers konnte die Barcodebeschriftung auf dem Medienteil in diesem Element nicht lesen, da die Medien fehlen, beschädigt, unsachgemäß positioniert oder auf dem Kopf stehen.

ERROR_LABEL_QUESTIONABLE

Die Beschriftung kann aufgrund einer Bedingung für die Aufmerksamkeit der Einheit ungültig sein.

ERROR_SLOT_NOT_PRESENT

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

ERROR_DRIVE_NOT_INSTALLED

Das Laufwerk an dieser Elementadresse ist nicht vorhanden. Wenn ein Änderungsregler weiterhin ohne Laufwerk ausgeführt 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 eine Taskleiste, die erweitert werden muss, um Medien zu laden oder zu entfernen, und die Taskleiste wird nicht nach Bedarf erweitert.

ERROR_UNHANDLED_ERROR

Unbekannte Fehlerbedingung.

TargetId

Gibt die SCSI-Ziel-ID des Laufwerks an dieser Elementadresse für einen SCSI-Changer an. Dieses Element ist nur gültig, wenn ElementType im element Element Member ChangerDrive- ist und ELEMENT_STATUS_ID_VALID in Flagsfestgelegt ist.

Lun

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

Reserved

Reserviert für die zukünftige Verwendung. Der Wert dieses Elements muss null sein.

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

Gibt den primären Volumebezeichner 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 Barcode des Mediums festlegen. Wenn der Changer keinen Balkencodeleser unterstützt, sollte der Miniklassentreiber PrimaryVolumeID- auf den Wert festlegen, der zuvor den Medien zugewiesen wurde, indem die ChangerQueryVolumeTags-Routine mit einer ASSERT_PRIMARY oder REPLACE_PRIMARY Aktion verwendet wird. Dieses Element ist nur gültig, wenn ELEMENT_STATUS_PVOLTAG auch in Flagsfestgelegt ist. Wenn der Volumebezeichner fehlt oder nicht lesbar ist, sollte der Miniklassentreiber dieses Kennzeichen löschen und den entsprechenden Fehlerstatus festlegen. Dieser Bezeichner darf nicht größer als MAX_VOLUME_ID_SIZE Bytes sein.

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

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

Bemerkungen

Bei den meisten Elementtypen verwenden Changer-Miniklassentreiber CHANGER_ELEMENT_STATUS, um den Status der angegebenen Elemente dem Änderungsklassentreiber zu melden. Einige Elemente vom Typ ChangerDrivegeben jedoch Produktinformationsdaten zurück. Wenn das Gerät Produktinformationen bereitstellt, meldet der Miniklassentreiber die Elementstatusdaten in einer Struktur vom Typ CHANGER_ELEMENT_STATUS_EX anstelle von CHANGER_ELEMENT_STATUS zu verwenden. 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

Siehe auch

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus-

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS