共用方式為


CHANGER_ELEMENT_STATUS_EX 結構 (ntddchgr.h)

ChangerGetElementStatus 例程會傳回這個結構中的狀態資訊。

語法

typedef struct _CHANGER_ELEMENT_STATUS_EX {
  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];
  UCHAR           VendorIdentification[VENDOR_ID_LENGTH];
  UCHAR           ProductIdentification[PRODUCT_ID_LENGTH];
  UCHAR           SerialNumber[SERIAL_NUMBER_LENGTH];
} CHANGER_ELEMENT_STATUS_EX, *PCHANGER_ELEMENT_STATUS_EX;

成員

Element

指定這個 結構所參考 之類型CHANGER_ELEMENT 的專案。

SrcElementAddress

指定目前在此元素中目前已移動媒體 CHANGER_ELEMENT 類型的專案。 只有在 標中也設定ELEMENT_STATUS_SVALID時,此成員才有效。 這個值必須是裝置唯一值的以零起始的位移。

Flags

指出項目的狀態,可以是下列一或多個值。

ELEMENT_STATUS_FULL

元素包含一段媒體。 如果 Element 成員中的 ElementTypeChangerDrive、ChangerSlotChangerTransport,則此旗標有效。 如果 ElementTypeChangerIEPort,則只有當 CHANGER_REPORT_IEPORT_STATE 也設定於 GET_CHANGER_PARAMETERSFeatures0 中時,此旗標才有效。

ELEMENT_STATUS_IMPEXP

此元素中的媒體是由運算子放置於該處。 只有當 Element 成員中的 ElementTypeChangerIEPort 時,此旗標才有效。

ELEMENT_STATUS_EXCEPT

元素處於異常狀態。 如需詳細資訊,請參閱 ExceptionCode 成員。

ELEMENT_STATUS_ACCESS

變更器的傳輸專案可以存取這個專案中的媒體片段。 miniclass 驅動程式會清除此旗標,指出媒體無法存取,原因如下:如果 Element 成員中的 ElementTypeChangerSlot則位置不會出現在 changer (例如,包含該位置的雜誌已實際移除) 。 如果 ElementTypeChangerDrive,磁碟驅動器會中斷或已移除。 如果 ElementTypeChangerIEPort,則會擴充 IEport。

ELEMENT_STATUS_EXENAB

元素支援透過變更器的 IEport 匯出媒體。

ELEMENT_STATUS_INENAB

元素支援透過變更器的 IEport 匯入媒體。

ELEMENT_STATUS_LUN_VALID

Lun 成員中的裝置號碼有效。 只有當 Element 成員中的 ElementTypeChangerDrive 時,此旗標才有效。

ELEMENT_STATUS_ID_VALID

TargetID 成員中的SCSI目標標識碼有效。 只有當 Element 成員中的 ElementTypeChangerDrive 時,此旗標才有效。

ELEMENT_STATUS_NOT_BUS

LunTargetID 所指示位址的磁碟驅動器位於與變更器本身不同的 SCSI 總線上。

ELEMENT_STATUS_PRODUCT_DATA

SerialNumber 成員中的序號有效。

ELEMENT_STATUS_INVERT

元素中的媒體已翻轉。 只有在同時設定ELEMENT_STATUS_SVALID旗標時,此旗標才有效。

ELEMENT_STATUS_SVALID

SourceElement 成員和ELEMENT_STATUS_INVERT旗標都是有效的。

ELEMENT_STATUS_PVOLTAG

PrimaryVolumeID 成員中的主要磁碟區資訊有效。

ELEMENT_STATUS_AVOLTAG

AlternateVolumeID 成員中的替代磁碟區資訊有效。

ExceptionCode

表示專案處於異常狀態。 只有在 Flags 中設定ELEMENT_STATUS_EXCEPT時,此成員才有效。 ExceptionCode 可以設定為下列其中一個值。

ERROR_LABEL_UNREADABLE

變更器的條碼讀取器無法讀取此元素中媒體片段上的條碼卷標,因為媒體遺失、損毀、位置不正確或倒置。

ERROR_LABEL_QUESTIONABLE

標籤可能因為單位注意條件而無效。

ERROR_SLOT_NOT_PRESENT

此項目位址的位置目前未安裝在變更器中。 迷你類別驅動程式會為卸除式雜誌中的每個位置設定此程序代碼,以指出已移除該雜誌。

ERROR_DRIVE_NOT_INSTALLED

此項目位址的磁碟驅動器不存在。 如果變更器可以在沒有磁碟驅動器的情況下繼續運作,其迷你類別驅動程式會為磁碟驅動器設定ERROR_DRIVE_NOT_INSTALLED。

ERROR_TRAY_MALFUNCTION

此專案位址的磁碟驅動器有一個必須擴充才能載入或移除媒體的匣,而匣不會視需要擴充。

ERROR_UNHANDLED_ERROR

未知的錯誤狀況。

TargetId

針對 SCSI 變更器,指定位於此元素位址之磁碟驅動器的 SCSI 目標識別碼。 只有當 Element 成員中的 ElementTypeChangerDrive 且ELEMENT_STATUS_ID_VALID設定於 Flags 時,此成員才有效。

Lun

指定此項目位址上磁碟驅動器的 SCSI 裝置編號。 只有當 Element 成員中的 ElementTypeChangerDrive,且ELEMENT_STATUS_LUN_VALID是在 Flags 中設定時,這個成員才有效。

Reserved

保留供未來使用。 這個成員的值必須是零。

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

指定媒體的主要磁碟區標識碼。 如果變更程式支援條碼讀取器,而且 (安裝讀取器,如 CHANGER_BAR_CODE_SCANNER_INSTALLED GET_CHANGER_PARAMETERS ) Features0 所示,迷你類別驅動程式必須將 PrimaryVolumeID 設定為媒體的條形碼。 如果變更程式不支援條碼讀取器,迷你類別驅動程序應該使用 ChangerQueryVolumeTags 例程搭配 ASSERT_PRIMARY 或 REPLACE_PRIMARY 動作,將 PrimaryVolumeID 設定為先前指派給媒體的值。 只有在 標中也設定ELEMENT_STATUS_PVOLTAG時,此成員才有效。 如果磁碟區標識碼遺失或無法讀取,迷你類別驅動程式應該清除此旗標並設定適當的錯誤狀態。 此標識元不得大於MAX_VOLUME_ID_SIZE個字節。

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

指定媒體的替代磁碟區識別。 此成員僅適用於雙面媒體,且與反轉端的標識符有關。 它永遠不會代表條碼。 miniclass 驅動程式必須將 AlternateVolumeID 設定為先前使用 ChangerQueryVolumeTags 例程搭配ASSERT_ALTERNATE或REPLACE_ALTERNATE動作指派給媒體的值。 標識符不得大於MAX_VOLUME_ID_SIZE個字節,而且只有在 標中也設定ELEMENT_STATUS_AVOLTAG時才有效。

VendorIdentification[VENDOR_ID_LENGTH]

包含廠商標識碼。 此標識元不得大於VENDOR_ID_LENGTH個字節。

ProductIdentification[PRODUCT_ID_LENGTH]

包含產品識別碼。 此標識元不得大於PRODUCT_ID_LENGTH個字節。

SerialNumber[SERIAL_NUMBER_LENGTH]

包含序號。 此標識元不得大於 SERIAL_NUMBER_LENGTH 個字節。

備註

如果需要廠商、產品或序號資訊, ChangerGetElementStatus 例程會傳回此結構中的狀態資訊。 否則, ChangerGetElementStatus 會傳回 CHANGER_ELEMENT_STATUS 結構中的狀態資訊。

規格需求

需求
標頭 ntddchgr.h

另請參閱

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

ChangerGetElementStatus

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_GET_ELEMENT_STATUS