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型 の要素を指定します。 このメンバーは、 flags にもELEMENT_STATUS_SVALIDが設定されている場合にのみ有効です。 この値は、デバイス固有の値からの 0 から始まるオフセットである必要があります。
Flags
要素の状態を示します。次の値の 1 つ以上を指定できます。
ELEMENT_STATUS_FULL
要素には、メディアの一部が含まれています。 Element メンバーのElementType が ChangerDrive、ChangerSlot、または ChangerTransport の場合、このフラグは有効です。 ElementType が ChangerIEPort の場合、このフラグは、CHANGER_REPORT_IEPORT_STATEが GET_CHANGER_PARAMETERS のFeatures0 にも設定されている場合にのみ有効です。
ELEMENT_STATUS_IMPEXP
この要素のメディアは、演算子によってそこに配置されました。 このフラグは、Element メンバーの ElementType が ChangerIEPort の場合にのみ有効です。
ELEMENT_STATUS_EXCEPT
要素が異常な状態です。 詳細については、 ExceptionCode メンバーを確認してください。
ELEMENT_STATUS_ACCESS
changer のトランスポート要素は、この要素内のメディアの一部にアクセスできます。 ミニクラス ドライバーは、次のいずれかの理由でメディアにアクセスできないことを示すために、このフラグをクリアします。Element メンバーの ElementType が ChangerSlot の場合、スロットは変更子に存在しません (たとえば、スロットを含むマガジンが物理的に削除されました)。 ElementType が ChangerDrive の場合、ドライブが壊れているか、削除されています。 ElementType が ChangerIEPort の場合、IEport は拡張されます。
ELEMENT_STATUS_EXENAB
要素は、changer の IEport を介したメディアのエクスポートをサポートします。
ELEMENT_STATUS_INENAB
要素は、changer の IEport を介したメディアのインポートをサポートします。
ELEMENT_STATUS_LUN_VALID
Lun メンバーのデバイス番号が有効です。 このフラグは、Element メンバーの ElementType が ChangerDrive の場合にのみ有効です。
ELEMENT_STATUS_ID_VALID
TargetID メンバーの SCSI ターゲット ID が有効です。 このフラグは、Element メンバーの ElementType が ChangerDrive の場合にのみ有効です。
ELEMENT_STATUS_NOT_BUS
Lun と TargetID によって示されるアドレスのドライブは、変更元自体とは異なる 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
要素が異常な状態であることを示します。 このメンバーは、 フラグで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 ターゲット ID を指定します。 このメンバーは、Element メンバーの ElementType が ChangerDrive で、ELEMENT_STATUS_ID_VALIDが Flags で設定されている場合にのみ有効です。
Lun
この要素アドレスにあるドライブの SCSI デバイス番号を指定します。 このメンバーは、Element メンバーの ElementType が ChangerDrive で、ELEMENT_STATUS_LUN_VALIDが Flags で設定されている場合にのみ有効です。
Reserved
将来利用するために予約されています。 このメンバーの値は 0 である必要があります。
PrimaryVolumeID[MAX_VOLUME_ID_SIZE]
メディアのプライマリ ボリューム識別子を指定します。 changer がバー コード リーダーをサポートしていて、リーダーがインストールされている場合 (GET_CHANGER_PARAMETERSの Features0 のCHANGER_BAR_CODE_SCANNER_INSTALLEDで示 されているように)、ミニクラス ドライバーは PrimaryVolumeID をメディアのバーコードに設定する必要があります。 changer がバー コード リーダーをサポートしていない場合、ミニクラス ドライバーは、ASSERT_PRIMARYまたはREPLACE_PRIMARYアクションを使用して ChangerQueryVolumeTags ルーチンを使用して、メディアに以前に割り当てられた値に PrimaryVolumeID を設定する必要があります。 このメンバーは、 flags にもELEMENT_STATUS_PVOLTAGが設定されている場合にのみ有効です。 ボリューム ID が見つからないか、読み取れない場合、ミニクラス ドライバーはこのフラグをクリアし、適切なエラー状態を設定する必要があります。 この識別子は、MAX_VOLUME_ID_SIZE バイト以下である必要があります。
AlternateVolumeID[MAX_VOLUME_ID_SIZE]
メディアの代替ボリューム識別を指定します。 このメンバーは両面メディアに対してのみ有効であり、反転側の ID に関連します。 バー コードを表すことはありません。 ミニクラス ドライバーは、ChangerQueryVolumeTags ルーチンを使用して、ASSERT_ALTERNATEまたはREPLACE_ALTERNATEアクションを使用して、以前にメディアに割り当てられた値に AlternateVolumeID を設定する必要があります。 識別子は、MAX_VOLUME_ID_SIZE バイト以下である必要があり、 ELEMENT_STATUS_AVOLTAGが Flags にも設定されている場合にのみ有効です。
VendorIdentification[VENDOR_ID_LENGTH]
ベンダー ID を格納します。 この識別子は、VENDOR_ID_LENGTH バイト以下である必要があります。
ProductIdentification[PRODUCT_ID_LENGTH]
製品 ID を格納します。 この識別子は、PRODUCT_ID_LENGTH バイト以下である必要があります。
SerialNumber[SERIAL_NUMBER_LENGTH]
シリアル番号を格納します。 この識別子は、SERIAL_NUMBER_LENGTH バイト以下である必要があります。
注釈
ChangerGetElementStatus ルーチンは、ベンダー、製品、またはシリアル番号の情報が必要な場合に、この構造体の状態情報を返します。 それ以外の場合、 ChangerGetElementStatus は CHANGER_ELEMENT_STATUS 構造体の状態情報を返します。
要件
要件 | 値 |
---|---|
Header | ntddchgr.h |