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 メンバーのElementTypeChangerDrive、ChangerSlot、または ChangerTransport の場合、このフラグは有効です。 ElementTypeChangerIEPort の場合、このフラグは、CHANGER_REPORT_IEPORT_STATEが GET_CHANGER_PARAMETERS のFeatures0 にも設定されている場合にのみ有効です。

ELEMENT_STATUS_IMPEXP

この要素のメディアは、演算子によってそこに配置されました。 このフラグは、Element メンバーの ElementTypeChangerIEPort の場合にのみ有効です。

ELEMENT_STATUS_EXCEPT

要素が異常な状態です。 詳細については、 ExceptionCode メンバーを確認してください。

ELEMENT_STATUS_ACCESS

changer のトランスポート要素は、この要素内のメディアの一部にアクセスできます。 ミニクラス ドライバーは、次のいずれかの理由でメディアにアクセスできないことを示すために、このフラグをクリアします。Element メンバーの ElementTypeChangerSlot の場合、スロットは変更子に存在しません (たとえば、スロットを含むマガジンが物理的に削除されました)。 ElementTypeChangerDrive の場合、ドライブが壊れているか、削除されています。 ElementTypeChangerIEPort の場合、IEport は拡張されます。

ELEMENT_STATUS_EXENAB

要素は、changer の IEport を介したメディアのエクスポートをサポートします。

ELEMENT_STATUS_INENAB

要素は、changer の IEport を介したメディアのインポートをサポートします。

ELEMENT_STATUS_LUN_VALID

Lun メンバーのデバイス番号が有効です。 このフラグは、Element メンバーの ElementTypeChangerDrive の場合にのみ有効です。

ELEMENT_STATUS_ID_VALID

TargetID メンバーの SCSI ターゲット ID が有効です。 このフラグは、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

要素が異常な状態であることを示します。 このメンバーは、 フラグで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 メンバーの ElementTypeChangerDrive で、ELEMENT_STATUS_ID_VALIDが Flags で設定されている場合にのみ有効です。

Lun

この要素アドレスにあるドライブの SCSI デバイス番号を指定します。 このメンバーは、Element メンバーの ElementTypeChangerDrive で、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 ルーチンは、ベンダー、製品、またはシリアル番号の情報が必要な場合に、この構造体の状態情報を返します。 それ以外の場合、 ChangerGetElementStatusCHANGER_ELEMENT_STATUS 構造体の状態情報を返します。

要件

要件
Header ntddchgr.h

こちらもご覧ください

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

ChangerGetElementStatus

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_GET_ELEMENT_STATUS