GET_CHANGER_PARAMETERS 構造体 (winioctl.h)

チェンジャーのパラメーターを表します。

構文

typedef struct _GET_CHANGER_PARAMETERS {
  DWORD Size;
  WORD  NumberTransportElements;
  WORD  NumberStorageElements;
  WORD  NumberCleanerSlots;
  WORD  NumberIEElements;
  WORD  NumberDataTransferElements;
  WORD  NumberOfDoors;
  WORD  FirstSlotNumber;
  WORD  FirstDriveNumber;
  WORD  FirstTransportNumber;
  WORD  FirstIEPortNumber;
  WORD  FirstCleanerSlotAddress;
  WORD  MagazineSize;
  DWORD DriveCleanTimeout;
  DWORD Features0;
  DWORD Features1;
  BYTE  MoveFromTransport;
  BYTE  MoveFromSlot;
  BYTE  MoveFromIePort;
  BYTE  MoveFromDrive;
  BYTE  ExchangeFromTransport;
  BYTE  ExchangeFromSlot;
  BYTE  ExchangeFromIePort;
  BYTE  ExchangeFromDrive;
  BYTE  LockUnlockCapabilities;
  BYTE  PositionCapabilities;
  BYTE  Reserved1[2];
  DWORD Reserved2[2];
} GET_CHANGER_PARAMETERS, *PGET_CHANGER_PARAMETERS;

メンバー

Size

この構造体のサイズ (バイト単位)。 呼び出し元は、このメンバーを に設定する sizeof(GET_CHANGER_PARAMETERS)必要があります。

NumberTransportElements

チェンジャー内のトランスポート要素の数。 SCSI チェンジャーの場合、これは要素アドレス ページで定義されます。 ほとんどのチェンジャーには 1 つまたは 2 つのピッカー メカニズムを持つ 1 つのトランスポート要素があるため、ほとんどの場合、この値は 1 です。 ピッカーは個別にアドレス指定できないため、トランスポートに 2 つのピッカー メカニズムがあるチェンジャーは、2 つのトランスポートを持つものとして表す必要はありません。 ハイエンド メディア ライブラリは、フォールト トレランスのためにデュアルおよび複数のトランスポート要素を持つことができます。

NumberStorageElements

チェンジャー内のストレージ要素 (スロット) の数。 SCSI チェンジャーの場合、これは要素アドレス ページで定義されます。 この値は、マガジンがインストールされているかどうかに関係なく、リムーバブル マガジン内のものを含む、このチェンジャーで使用できるスロットの最大数を表します。 NumberCleanerSlots が 1 の場合、NumberStorageElements はチェンジャー内のスロットの最大数より 1 小さくなります。

NumberCleanerSlots

チェンジャー内のクリーナー カートリッジ用のストレージ要素 (スロット) の数。 NumberCleanerSlots が 1 の場合、FirstCleanerSlotAddress は、ドライブ クリーナーを挿入するスロットの 0 から始まるアドレスを示します。 プログラムによってクリーナー カートリッジをスロットからドライブに移動することによって、チェンジャーがドライブクリーニングをサポートしていない場合、 NumberCleanerSlots は 0 です。 NumberCleanerSlots は 1 より大きくすることはできません。

NumberIEElements

メディアを挿入および取り出す際に、チェンジャーが持つインポート/エクスポート要素 (挿入/取り出しポート) の数。 SCSI チェンジャーの場合、これは要素アドレス ページで定義されます。 import/export 要素は、ストレージ要素 (スロット) 領域の一部でなく、import/export 要素と MOVE MEDIUM コマンドを使用してスロット間でメディアを転送できる必要があります。 changer にドアがあり、真の import/export 要素ではない場合、 NumberIEElements は 0 です。

NumberDataTransferElements

チェンジャー内のデータ転送要素 (ドライブ) の数。 SCSI チェンジャーの場合、これは要素アドレス ページで定義されます。 NumberStorageElements とは異なり、スロットが実際に存在するかどうかに関係なく、使用可能なスロットの合計数を示す NumberDataTransferElements は、チェンジャーに実際に存在するドライブの数を示します。

NumberOfDoors

チェンジャー内のドアの数。 ドアは、1 つまたは複数のメディアへのアクセスを提供する挿入/取り出しポートとは異なり、一度にチェンジャー内のすべてのメディアへのアクセスを提供します。 チェンジャーのドアは、物理的なフロント ドアでも、すべてのメディアを含む 1 つのマガジンでもかまいません。 チェンジャーがメディアの挿入と取り出しに挿入/取り出しポートのみをサポートしている場合、 NumberOfDoors は 0 です。

FirstSlotNumber

雑誌をマークするか、チェンジャーのオペレーター ガイドでスロット番号付けスキームを定義することによって、チェンジャーの最初のストレージ要素 (スロット) をエンド ユーザーに識別するためにチェンジャー ベンダーが使用する番号。 FirstSlotNumber は通常 0 または 1 ですが、ベンダーによって定義されたスロット アドレスの連続する範囲の最初のアドレスにすることができます。

FirstDriveNumber

変更元ベンダーが、エンド ユーザーに対するチェンジャーの最初のデータ転送要素 (ドライブ) を識別するために使用する番号。 FirstDriveNumber は通常 0 または 1 ですが、ベンダーによって定義されたドライブ アドレスの連続する範囲の最初のアドレスにすることができます。

FirstTransportNumber

変更元ベンダーが、エンド ユーザーに対して、チェンジャー内の最初の (通常は唯一の) トランスポート要素を識別するために使用する番号。 FirstTransportNumber は通常 0 または 1 ですが、ベンダーによって定義されたトランスポート アドレスの連続する範囲の最初のアドレスにすることができます。

FirstIEPortNumber

チェンジャー の最初の (通常は唯一の) 挿入/取り出しポートをエンド ユーザーに識別するために、チェンジャー ベンダーが使用する番号。 FirstIEPortNumber は通常 0 または 1 ですが、ベンダーによって定義された挿入/取り出しポート アドレスの連続する範囲の最初のアドレスにすることができます。 NumberIEElements が 0 の場合、FirstIEPortNumber も 0 である必要があります。

FirstCleanerSlotAddress

ドライブ クリーナー カートリッジにエンド ユーザーに割り当てられた最初の (および唯一の) スロット アドレスを識別するために、チェンジャー ベンダーが使用する番号。 これは、チェンジャーのオペレーター ガイドでベンダーによって定義された値である必要があります。 たとえば、チェンジャーに 8 個のスロット番号が 1 から 8 の場合、オペレーターガイドはスロット 8 をドライブ クリーナー スロットとして指定し、 FirstSlotNumber は 1、 FirstCleanerSlotAddress は 8 になります。 同じ 8 スロットの番号が 0 から 7 の場合、 FirstSlotNumber は 0、 FirstCleanerSlotAddress は 7 になります。 NumberCleanerSlots が 0 の場合、FirstCleanerSlotAddress は 0 である必要があります。

MagazineSize

チェンジャー内のリムーバブル マガジン内のスロットの数。 このメンバーは、 Features0 でCHANGER_CARTRIDGE_MAGAZINEが設定されている場合にのみ有効です。

DriveCleanTimeout

クリーニングにかかる最大秒数の 2 倍。 チェンジャーのドライブは、 DriveCleanTimeout で指定された半分の時間で、よりクリーンなカートリッジでクリーニングする必要があります。 たとえば、ドライブが通常 300 秒 (5 分) でクリーンアップされる場合、 DriveCleanTimeout は 600 に設定する必要があります。

Features0

チェンジャーでサポートされている機能。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
CHANGER_BAR_CODE_SCANNER_INSTALLED
0x00000001
チェンジャーはバーコード リーダーをサポートしており、リーダーがインストールされています。
CHANGER_CARTRIDGE_MAGAZINE
0x00000100
チェンジャーは、一部またはすべてのストレージスロットにリムーバブルカートリッジマガジンを使用します。
CHANGER_CLEANER_ACCESS_NOT_VALID
0x00040000
データトランスポート要素のCHANGER_ELEMENT_STATUS構造体の ELEMENT_STATUS_ACCESS フラグは、トランスポート要素にクリーニング カートリッジが含まれている場合は無効です。
CHANGER_CLEANER_SLOT
0x00000040
チェンジャーには、よりクリーンなカートリッジ用に指定されたスロットがあります。 このフラグが設定されている場合、 NumberCleanerSlots は 1、 FirstCleanerSlotAddress はクリーナー スロットのアドレスを指定する必要があります。
CHANGER_CLOSE_IEPORT
0x00000004
チェンジャーには挿入/取り出しポートがあり、プログラムによって挿入/取り出しポートを取り消すことができます。
CHANGER_DEVICE_REINITIALIZE_CAPABLE
0x08000000
changer は、明示的なコマンドに応答してトランスポート要素を再調整できます。
CHANGER_DRIVE_CLEANING_REQUIRED
0x00010000
チェンジャーのドライブには定期的なクリーニングが必要です。これはユーザーまたはアプリケーションによって開始される必要があり、チェンジャーはそのトランスポート要素を使用して、よりクリーンなカートリッジをドライブに取り付けることができます。
CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS
0x20000000
チェンジャーは、すべてのドライブに空 (マウント解除) を行ってから、ドアからアクセスできるようにする必要があります。
CHANGER_EXCHANGE_MEDIA
0x00000020
チェンジャーは、要素間でメディアを交換できます。 SCSI チェンジャーの場合、このフラグは、チェンジャーが EXCHANGE MEDIUM コマンドをサポートしているかどうかを示します。
CHANGER_INIT_ELEM_STAT_WITH_RANGE
0x00000002
changer は、指定された範囲内の要素を初期化できます。 SCSI チェンジャーの場合、このフラグは、チェンジャーが INITIALIZE ELEMENT STATUS WITH RANGE コマンドをサポートしているかどうかを示します。
CHANGER_KEYPAD_ENABLE_DISABLE
0x10000000
チェンジャー キーパッドは、プログラムで有効または無効にできます。
CHANGER_LOCK_UNLOCK
0x00000080
チェンジャーのドア、挿入/取り出しポート、またはキーパッドは、プログラムでロックまたはロック解除できます。 このフラグが設定されている場合、 LockUnlockCapabilities は、ロックまたはロック解除できる要素を示します。
CHANGER_MEDIUM_FLIP
0x00000200
チェンジャーのトランスポート要素は、反転 (回転) メディアをサポートします。 SCSI チェンジャーの場合、このフラグは、トランスポート ジオメトリ パラメーター ページの回転ビットを反映します。
CHANGER_OPEN_IEPORT
0x00000008
チェンジャーには挿入/取り出しポートがあり、プログラムによって挿入/取り出しポートを拡張できます。
CHANGER_POSITION_TO_ELEMENT
0x00000400
チェンジャーは、トランスポートを特定の宛先に配置できます。 SCSI チェンジャーの場合、このフラグは、チェンジャーが POSITION TO ELEMENT コマンドをサポートしているかどうかを示します。 このフラグが設定されている場合、 PositionCapabilities はトランスポートを配置できる要素を示します。
CHANGER_PREDISMOUNT_EJECT_REQUIRED
0x00020000
チェンジャーは、大容量記憶装置ドライバー (テープ、ディスク、CDROM など) を介して明示的なコマンドを実行して、ドライブからメディアを取り出してから、そのメディアをドライブからスロットに移動する必要があります。
CHANGER_PREMOUNT_EJECT_REQUIRED
0x00080000
チェンジャーは、メディアをスロットからドライブに移動する前に、大容量記憶装置ドライバーを介して明示的なコマンドを実行してドライブ メカニズムを取り出す必要があります。 たとえば、CD-ROM ドライブを備えたチェンジャーでは、マウント操作中にメディアの一部をトレイに読み込むことができるように、トレイをロボットトランスポートに提示する必要がある場合があります。
CHANGER_REPORT_IEPORT_STATE
0x00000800
チェンジャーは、メディアが挿入/取り出しポートに存在するかどうかを報告できます。 このようなチェンジャーでは、メディアの有無を検出するために、挿入/取り出しポートにセンサーが必要です。
CHANGER_SERIAL_NUMBER_VALID
0x04000000
シリアル番号は、この型のすべてのチェンジャーに対して有効で一意です。 シリアル番号は、仕入先と製品ライン間で一意であるとは限りません。
CHANGER_STATUS_NON_VOLATILE
0x00000010
チェンジャーは、要素の状態情報に不揮発性メモリを使用します。
CHANGER_STORAGE_DRIVE
0x00001000
チェンジャーは、独立したストレージ要素としてドライブを使用できます。つまり、メディアを読み取らずにドライブに格納できます。 SCSI チェンジャーの場合、このフラグはデバイス機能ページの DT ビットの状態を反映します。
CHANGER_STORAGE_IEPORT
0x00002000
チェンジャーは、独立したストレージ要素として挿入/取り出しポートを使用できます。 SCSI チェンジャーの場合、このフラグはデバイス機能ページの I/E ビットの状態を反映します。
CHANGER_STORAGE_SLOT
0x00004000
チェンジャーは、メディアの独立したストレージ要素としてスロットを使用できます。 SCSI チェンジャーの場合、このフラグはデバイス機能ページの ST ビットの状態を反映します。 スロットはメディアの通常の保存場所であるため、チェンジャーはこの機能をサポートする必要があります。
CHANGER_STORAGE_TRANSPORT
0x00008000
チェンジャーは、トランスポートを独立したストレージ要素として使用できます。 SCSI チェンジャーの場合、このフラグはデバイス機能ページの MT ビットの状態を反映します。
CHANGER_VOLUME_ASSERT
0x00400000
チェンジャーはボリューム情報を確認できます。 SCSI チェンジャーの場合、このフラグは、送信アクション コード ASSERT を使用して、チェンジャーが SEND VOLUME TAG コマンドをサポートするかどうかを示します。
CHANGER_VOLUME_IDENTIFICATION
0x00100000
チェンジャーは、ボリューム識別をサポートします。 SCSI チェンジャーの場合、このフラグは、チェンジャーが SEND VOLUME TAG および REQUEST VOLUME ELEMENT ADDRESS コマンドをサポートしているかどうかを示します。
CHANGER_VOLUME_REPLACE
0x00800000
changer はボリューム情報を置き換えることができます。 SCSI チェンジャーの場合、このフラグは、CHANGER が SEND VOLUME TAG コマンドと REPLACE の送信アクション コードをサポートしているかどうかを示します。
CHANGER_VOLUME_SEARCH
0x00200000
チェンジャーはボリューム情報を検索できます。 SCSI チェンジャーの場合、このフラグは、CHANGER が SEND VOLUME TAG コマンドと TRANSLATE の送信アクション コードをサポートするかどうかを示します。
CHANGER_VOLUME_UNDEFINE
0x01000000
チェンジャーは、既存のボリューム情報をクリアできます。 SCSI チェンジャーの場合、このフラグは、変更子が SEND VOLUME TAG コマンドと UNDEFINE の送信アクション コードをサポートしているかどうかを示します。

Features1

チェンジャーでサポートされている追加機能。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
CHANGER_CLEANER_AUTODISMOUNT
0x80000004
クリーニングが完了すると、チェンジャーはクリーニングカートリッジを元のスロットに自動的に戻します。
CHANGER_CLEANER_OPS_NOT_SUPPORTED
0x80000040
チェンジャーは、その要素の自動クリーニングをサポートしていません。
CHANGER_IEPORT_USER_CONTROL_CLOSE
0x80000100
このチェンジャーでは、開いている挿入/取り出しポートを手動で閉じる必要があります。
CHANGER_IEPORT_USER_CONTROL_OPEN
0x80000080
このチェンジャーでは、閉じた挿入/取り出しポートを手動で開く必要があります。
CHANGER_MOVE_EXTENDS_IEPORT
0x80000200
チェンジャーは、メディアを挿入/取り出しポートに移動するコマンドが発行されるたびに、トレイを自動的に拡張します。
CHANGER_MOVE_RETRACTS_IEPORT
0x80000400
挿入/取り出しポートからメディアを移動するコマンドが発行されるたびに、チェンジャーはトレイを自動的に取り消します。
CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE
0x80000002
changer には、ドライブからメディアを取り出す前に、トランスポート要素をドライブに配置する明示的なコマンドが必要です。
CHANGER_PREDISMOUNT_ALIGN_TO_SLOT
0x80000001
チェンジャーには、トランスポート要素をスロットからメディアを取り出す前に、トランスポート要素をスロットに配置する明示的なコマンドが必要です。
CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR
0x80000020
チェンジャーでは、メディアが移動された後、元のスロットにメディアを返す必要があります。
CHANGER_SLOTS_USE_TRAYS
0x80000010
チェンジャーはスロットの取り外し可能なトレイを使用します。このスロットでは、メディアをトレイに配置し、トレイを目的の位置に移動する必要があります。
CHANGER_TRUE_EXCHANGE_CAPABLE
0x80000008
チェンジャーは、1 回の操作でソースと宛先の間でメディアを交換できます。 このフラグは、 Features0 でもCHANGER_EXCHANGE_MEDIAが設定されている場合にのみ有効です。

MoveFromTransport

チェンジャーが、トランスポート要素から別のトランスポート要素、ストレージ スロット、挿入/取り出しポート、またはドライブへのメディアの移動をサポートしているかどうかを示します。 SCSI チェンジャーの場合、これはデバイス機能ページで定義されます。 トランスポートは、通常、メディアの移動または交換のソースまたは宛先ではありません。

changer が特定の要素にメディアを移動できるかどうかを判断するには、次の値を使用します。

意味
CHANGER_TO_DRIVE
0x08
チェンジャーは、指定した要素からドライブに操作を実行できます。
CHANGER_TO_IEPORT
0x04
チェンジャーは、指定された要素から挿入/取り出しポートへの操作を実行できます。
CHANGER_TO_SLOT
0x02
チェンジャーは、指定された要素からストレージ スロットへの操作を実行できます。
CHANGER_TO_TRANSPORT
0x01
チェンジャーは、指定された要素からトランスポートに操作を実行できます。

MoveFromSlot

チェンジャーが、ストレージ スロットからトランスポート要素、別のストレージ スロット、挿入/取り出しポート、またはドライブへのメディアの移動をサポートしているかどうかを示します。 MoveFromTransport で説明されているフラグを使用して、チェンジャーが移動をサポートしているかどうかを判断します。

MoveFromIePort

チェンジャーが、挿入/取り出しポートからトランスポート要素、ストレージ スロット、別の挿入/取り出しポート、またはドライブへのメディアの移動をサポートするかどうかを示します。 SCSI チェンジャーの場合、これはデバイス機能ページで定義されます。 MoveFromTransport で説明されているフラグを使用して、チェンジャーが移動をサポートしているかどうかを判断します。

MoveFromDrive

チェンジャーが、ドライブからトランスポート要素、ストレージ スロット、挿入/取り出しポート、または別のドライブへのメディアの移動をサポートしているかどうかを示します。 MoveFromTransport で説明されているフラグを使用して、チェンジャーが移動をサポートしているかどうかを判断します。

ExchangeFromTransport

チェンジャーがトランスポート要素と別のトランスポート要素、ストレージ スロット、挿入/取り出しポート、またはドライブ間のメディア交換をサポートしているかどうかを示します。 MoveFromTransport で説明されているフラグを使用して、チェンジャーが交換をサポートしているかどうかを判断します。

ExchangeFromSlot

チェンジャーがストレージ スロットとトランスポート要素、別のストレージ スロット、挿入/取り出しポート、またはドライブ間のメディア交換をサポートしているかどうかを示します。 MoveFromTransport で説明されているフラグを使用して、チェンジャーが交換をサポートしているかどうかを判断します。

ExchangeFromIePort

チェンジャーが挿入/取り出しポートとトランスポート要素、ストレージ スロット、別の挿入/取り出しポート、またはドライブ間のメディア交換をサポートしているかどうかを示します。 MoveFromTransport で説明されているフラグを使用して、チェンジャーが交換をサポートしているかどうかを判断します。

ExchangeFromDrive

チェンジャーがドライブとトランスポート要素、ストレージ スロット、挿入/取り出しポート、または別のドライブ間のメディア交換をサポートしているかどうかを示します。 MoveFromTransport で説明されているフラグを使用して、チェンジャーが交換をサポートしているかどうかを判断します。

LockUnlockCapabilities

プログラムでロックまたはロック解除できるチェンジャーの要素。 このメンバーは、 Features0 でCHANGER_LOCK_UNLOCKが設定されている場合にのみ有効です。

チェンジャーが特定の要素をロックまたはロック解除できるかどうかを判断するには、次の値の 1 つ以上を使用します。

意味
LOCK_UNLOCK_DOOR
0x02
チェンジャーはドアをロックまたはロック解除できます。
LOCK_UNLOCK_IEPORT
0x01
チェンジャーは、挿入/取り出しポートをロックまたはロック解除できます。
LOCK_UNLOCK_KEYPAD
0x04
チェンジャーは、そのキーパッドをロックまたはロック解除することができます。

PositionCapabilities

チェンジャーがそのトランスポートを配置できる要素。 MoveFromTransport で説明されているフラグを使用して、changer が特定の要素へのトランスポートの配置をサポートしているかどうかを判断します。 このメンバーは、 Features0 でCHANGER_POSITION_TO_ELEMENTが設定されている場合にのみ有効です。

Reserved1[2]

将来使用するために予約されています。

Reserved2[2]

将来使用するために予約されています。

必要条件

要件
サポートされている最小のクライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
Header winioctl.h (Windows.h を含む)

こちらもご覧ください

IOCTL_CHANGER_GET_PARAMETERS