GET_CHANGER_PARAMETERS構造体 (ntddchgr.h)
変更子の特性を取得します。
構文
typedef struct _GET_CHANGER_PARAMETERS {
ULONG Size;
USHORT NumberTransportElements;
USHORT NumberStorageElements;
USHORT NumberCleanerSlots;
USHORT NumberIEElements;
USHORT NumberDataTransferElements;
USHORT NumberOfDoors;
USHORT FirstSlotNumber;
USHORT FirstDriveNumber;
USHORT FirstTransportNumber;
USHORT FirstIEPortNumber;
USHORT FirstCleanerSlotAddress;
USHORT MagazineSize;
ULONG DriveCleanTimeout;
ULONG Features0;
ULONG Features1;
UCHAR MoveFromTransport;
UCHAR MoveFromSlot;
UCHAR MoveFromIePort;
UCHAR MoveFromDrive;
UCHAR ExchangeFromTransport;
UCHAR ExchangeFromSlot;
UCHAR ExchangeFromIePort;
UCHAR ExchangeFromDrive;
UCHAR LockUnlockCapabilities;
UCHAR PositionCapabilities;
UCHAR Reserved1[2];
ULONG Reserved2[2];
} GET_CHANGER_PARAMETERS, *PGET_CHANGER_PARAMETERS;
メンバー
Size
この構造体のバイト単位のサイズ。 sizeof(GET_CHANGER_PARAMETERS) に設定します。 実際には、このメンバーは、ミニクラス ドライバーで使用されているこの構造体のバージョンを示します。
NumberTransportElements
変更子内のトランスポート要素の数を示します。 SCSI 変更子の場合、これは要素アドレス ページで定義されます。 ほとんどの変更子には 1 つのトランスポート要素があり、1 つまたは 2 つのピッカー メカニズムを持つことができます。 トランスポートに 2 つのピッカー メカニズムを持つ変更子は、2 つのトランスポートを持つものとして表す必要はありません。これは、ピッカーを個別に処理できないためです。 ハイエンド メディア ライブラリは、フォールト トレランスのためにデュアルおよび複数のトランスポート要素を持つことができます。
NumberStorageElements
変更子内のストレージ要素 (スロット) の数を示します。 SCSI 変更子の場合、これは要素アドレス ページで定義されます。 この値は、マガジンがインストールされているかどうかに関係なく、リムーバブル マガジン内のスロットを含め、この変更プログラムで使用できるスロットの最大数を表します。 NumberCleanerSlots が 1 の場合、NumberStorageElements は、changer 内のスロットの最大数より 1 小さくなります。
NumberCleanerSlots
スケーラー内のクリーナー・カートリッジの保管エレメント (スロット) の数を示します。 SCSI changer の場合、この値はモード センス データでは報告されないため、ミニクラス ドライバーで提供する必要があります。 ミニクラス ドライバーは、Changer のオペレーターガイドが特定のスロットをクリーナー スロットとして識別する場合にのみ 、NumberCleanerSlots を 1 に設定する必要があります。 NumberCleanerSlots が 1 の場合、FirstCleanerSlotAddress は、ドライブ クリーナーを挿入するスロットの 0 から始まるアドレスを示します。 プログラムによってクリーナー カートリッジをスロットからドライブに移動してドライブクリーニングをサポートしていない場合、ミニクラス ドライバーは NumberCleanerSlots を 0 に設定する必要があります。 NumberCleanerSlots は 1 より大きくすることはできません。
NumberIEElements
メディアの挿入と取り出しのために、変更者が持つ IEport 要素の数を示します。 SCSI 変更子の場合、これは要素アドレス ページで定義されます。 IEport 要素は、ストレージ要素 (スロット) 領域の一部でなく、MOVE MEDIUM SCSI コマンドを使用して IEport とスロットの間でメディアを転送できる必要があります。 changer にドアがあり、真の IEport ではない場合、ミニクラス ドライバーは NumberIEElements を 0 に設定する必要があります。
NumberDataTransferElements
変更子内のデータ転送要素 (ドライブ) の数を示します。 SCSI 変更子の場合、これは要素アドレス ページで定義されます。 スロットが実際に存在するかどうかの使用可能なスロットの合計数を示す NumberStorageElements とは異なり、 NumberDataTransferElements は、変更子に実際に存在するドライブの数を示します。
NumberOfDoors
交換子が持つドアの数を示します。 SCSI changer の場合、この値はモード センス データでは報告されないため、ミニクラス ドライバーで提供する必要があります。 ドアは、1 つ以上のメディアへのアクセスを提供する IEport とは異なり、一度に変更機能内のすべてのメディアにアクセスできます。 交換機のドアには、物理的なフロント ドアまたはすべてのメディアを含む 1 つのマガジンを指定できます。 メディアの挿入と取り出しに IEport のみをサポートする場合、 NumberOfDoors は 0 である必要があります。
FirstSlotNumber
変更者ベンダーが、雑誌をマークするか、または変更者のオペレーター ガイドでスロット番号付けスキームを定義することによって、変更者の最初のストレージ要素 (スロット) をエンド ユーザーに識別するために使用される番号を示します。 FirstSlotNumber は通常 0 または 1 ですが、ベンダーによって定義されたスロット アドレスの連続した範囲の最初のアドレスにすることができます。
FirstDriveNumber
変更元ベンダーが、変更元の最初のデータ転送要素 (ドライブ) をエンド ユーザーに識別するために使用する番号を示します。 FirstDriveNumber は通常 0 または 1 ですが、ベンダーによって定義されたドライブ アドレスの連続した範囲の最初のアドレスにすることができます。
FirstTransportNumber
変更元ベンダーが、変更元の最初の (通常は唯一の) トランスポート要素をエンド ユーザーに識別するために使用する番号を示します。 FirstTransportNumber は通常 0 または 1 ですが、ベンダーによって定義されるトランスポート アドレスの連続した範囲の最初のアドレスにすることができます。
FirstIEPortNumber
変更元のベンダーが、エンド ユーザーに対する変更プログラムの最初の (通常は唯一の) IEport を識別するために使用する数を示します。 FirstIEPortNumber は通常 0 または 1 ですが、ベンダーによって定義される IEport アドレスの連続した範囲の最初のアドレスにすることができます。 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
changer でサポートされている機能を示します。 このメンバーは、次の値のうち 1 つ以上をビットごとの ORed にまとめることができます。
CHANGER_BAR_CODE_SCANNER_INSTALLED
変更プログラムでは、バーコード リーダーがサポートされ、リーダーがインストールされます。 ミニクラス ドライバーは、変更プログラムのバーコード リーダーが常にインストールされている場合を除き、このフラグをハードコーディングしないでください。 バーコード リーダーが省略可能な場合、ミニクラス ドライバーはリーダーが実際にインストールされているかどうかを判断し、それに応じてフラグを設定する必要があります。
CHANGER_INIT_ELEM_STAT_WITH_RANGE
changer は、指定された範囲内の要素を初期化できます。 SCSI 変更子の場合、このフラグは、変更子が INITIALIZE ELEMENT STATUS WITH RANGE SCSI コマンドをサポートしているかどうかを示します。
CHANGER_CLOSE_IEPORT
変更プログラムには IEport があり、IEport をプログラムで取り消すことができます。
CHANGER_OPEN_IEPORT
changer には IEport があり、IEport をプログラムで拡張できます。
CHANGER_STATUS_NON_VOLATILE
changer は、要素の状態情報に不揮発性メモリを使用します。
CHANGER_EXCHANGE_MEDIA
EXCHANGE MEDIUM SCSI コマンドをサポートするには、一度に 2 つのボリュームを処理するか、他の changer 要素を使用してこの機能をエミュレートします。
CHANGER_CLEANER_SLOT
クリーナー カートリッジ用に指定された特定のスロットがあることを示します。 このフラグが設定されている場合、 NumberCleanerSlots は 1 つで、 FirstCleanerSlotAddress はクリーナー スロットのアドレスを指定する必要があります。 このビットは、CHANGER_DRIVE_CLEANING_REQUIREDが設定され、CHANGER_CLEANER_OPS_NOT_SUPPORTEDがリセットされた場合にのみ設定できます。
CHANGER_LOCK_UNLOCK
交換機のドア、IEport、またはキーパッドは、プログラムでロックまたはロック解除できます。 このフラグが設定されている場合、 LockUnlockCapabilities はロックまたはロック解除できる要素を示します。
CHANGER_CARTRIDGE_MAGAZINE
交換機は、一部またはすべてのストレージ・スロットに取り外し可能なカートリッジ・マガジンを使用します。
CHANGER_MEDIUM_FLIP
変更子のトランスポート要素は、反転 (回転) メディアをサポートします。 SCSI チェンジャーの場合、このフラグは、トランスポート ジオメトリ パラメーター ページの回転ビットを反映します。
CHANGER_POSITION_TO_ELEMENT
変更者は、トランスポートを特定の宛先に配置できます。 SCSI 変更子の場合、このフラグは、変更者が POSITION TO ELEMENT SCSI コマンドをサポートしているかどうかを示します。 このフラグが設定されている場合、 PositionCapabilities はトランスポートを配置できる要素を示します。
CHANGER_REPORT_IEPORT_STATE
変更者は、メディアが IEport に存在するかどうかを報告できます。 このような変更ツールでは、メディアの有無を検出するために、IEport にセンサーが必要です。
CHANGER_STORAGE_DRIVE
この変更機能では、ドライブを独立したストレージ要素として使用できます。つまり、読み取らずにドライブにメディアを格納できます。 SCSI 変更機能の場合、このフラグはデバイス機能ページの DT ビットの状態を反映します。
CHANGER_STORAGE_IEPORT
この変更ツールでは、独立したストレージ要素として IEport を使用できます。 SCSI 変更機能の場合、このフラグは、デバイス機能ページの I/E ビットの状態を反映します。
CHANGER_STORAGE_SLOT
変更者は、メディアの独立したストレージ要素としてスロットを使用できます。 SCSI 変更機能の場合、このフラグは、デバイス機能ページの ST ビットの状態を反映します。 スロットはメディアの通常の保存場所であるため、変更者はこの機能をサポートする必要があります。
CHANGER_STORAGE_TRANSPORT
変更子は、独立したストレージ要素としてトランスポートを使用できます。 SCSI 変更機能の場合、このフラグはデバイス機能ページの MT ビットの状態を反映します。
CHANGER_DRIVE_CLEANING_REQUIRED
変更者のドライブが、ドライブにクリーニングが必要であることを示すセンス コードを定期的に報告する可能性があることを示します。
CHANGER_PREDISMOUNT_EJECT_REQUIRED
変更ツールは、大容量記憶装置ドライバー (テープ、ディスク、CD-ROM など) を介して明示的なコマンドを発行して、ドライブからメディアを取り出してから、そのメディアをドライブからスロットに移動できるようにする必要があります。 変更者がメディアを自動的に取り出す場合、ミニクラス ドライバーはこのフラグをクリアする必要があります。
CHANGER_CLEANER_ACCESS_NOT_VALID
データ・トランスポート・エレメントのCHANGER_ELEMENT_STATUS構造のELEMENT_STATUS_ACCESSフラグは、トランスポート・エレメントにクリーニング・カートリッジが含まれている場合は無効です。
CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS
交換機は、ドアからアクセスする前に、すべてのドライブを空 (マウント解除) する必要があります。 ミニクラス ドライバーは、オペレーターが変更プログラムの内部にアクセスする操作によって影響を受ける可能性がある静的な影響を受けるドライブがある場合、またはオペレーターがドアを物理的に開こうとしたときに、そのドライブからメディアを自動的に取り出す場合は、このフラグを設定する必要があります。
CHANGER_VOLUME_IDENTIFICATION
変更子は、ボリューム識別をサポートします。 SCSI 変更子の場合、このフラグは、変更者が SEND VOLUME TAG および REQUEST VOLUME ELEMENT ADDRESS SCSI コマンドをサポートしているかどうかを示します。
CHANGER_VOLUME_SEARCH
変更者はボリューム情報を検索できます。 SCSI 変更子の場合、このフラグは、CHANGER が SEND VOLUME TAG SCSI コマンドと TRANSLATE の送信アクション コードをサポートしているかどうかを示します。
CHANGER_VOLUME_ASSERT
changer はボリューム情報を確認できます。 SCSI 変更子の場合、このフラグは、送信アクション コード ASSERT を使用して、変更者が SEND VOLUME TAG SCSI コマンドをサポートしているかどうかを示します。
CHANGER_VOLUME_REPLACE
変更子はボリューム情報を置き換えることができます。 SCSI 変更子の場合、このフラグは、CHANGER が SEND VOLUME TAG SCSI コマンドと REPLACE の送信アクション コードをサポートしているかどうかを示します。
CHANGER_VOLUME_UNDEFINE
変更者は、既存のボリューム情報をクリアできます。 SCSI 変更子の場合、このフラグは、 が SEND VOLUME TAG SCSI コマンドと UNDEFINE の送信アクション コードをサポートしているかどうかを示します。
CHANGER_SERIAL_NUMBER_VALID
GetProductData によって報告されるシリアル番号は、この型のすべての変更者に対して有効で一意です。 シリアル番号は、仕入先および製品ライン間で一意であるとは限りません。 この定義に従って変更者のシリアル番号が一意である場合、ミニクラス ドライバーは、このフラグを設定し、シリアル番号にCHANGER_PRODUCT_DATAシリアル番号を設定する必要があります。
CHANGER_PREMOUNT_EJECT_REQUIRED
変更ツールでは、大容量記憶装置ドライバーを介して明示的なコマンドが発行され、変更者がメディアをスロットからドライブに移動する前にドライブ メカニズムを取り出す必要があります。 たとえば、CD-ROM ドライブを備えたチェンジャーでは、取り付け操作中にメディアの一部をトレイに読み込むことができるように、トレイをロボット輸送に提示する必要がある場合があります。 変更子がメカニズムを自動的に取り出す場合、ミニクラス ドライバーはこのフラグをクリアする必要があります。
CHANGER_DEVICE_REINITIALIZE_CAPABLE
changer は、明示的なコマンドに応答してトランスポート要素を再調整できます。 changer クラス ドライバーは ChangerReinitializeUnit を 呼び出して再調整を開始します。
CHANGER_KEYPAD_ENABLE_DISABLE
変更プログラムのキーパッドは、プログラムで有効または無効にすることができます。
CHANGER_RESERVED_BIT
Features1 フラグを示すために予約されています。
Features1
変更者がサポートする追加機能を示します。 このメンバーは、次の値のうち 1 つ以上をビットごとの ORed にまとめることができます。
CHANGER_PREDISMOUNT_ALIGN_TO_SLOT
ドライブからスロットにメディアを移動する前に、トランスポートを宛先スロットに移動する必要があることを示します。 これが設定されている場合は、ビット CHANGER_PREDISMOUNT_ALIGN_TO_DRIVEをリセットする必要があります。
CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE
ドライブからスロットにメディアを移動する前に、トランスポートをドライブに移動する必要があることを示します。 これが設定されている場合は、ビット CHANGER_PREDISMOUNT_ALIGN_TO_SLOTをリセットする必要があります。
CHANGER_CLEANER_AUTODISMOUNT
クリーニングが完了した後、交換子がクリーニング・カートリッジを元のスロットに自動的に戻すよう指示します。 このビットは、CHANGER_DRIVE_CLEANING_REQUIREDが設定され、CHANGER_CLEANER_OPS_NOT_SUPPORTEDがリセットされた場合にのみ設定できます。
CHANGER_TRUE_EXCHANGE_CAPABLE
デバイスは、追加の変更要素を使用せずに、一度に 2 つのボリュームを操作できます。
CHANGER_SLOTS_USE_TRAYS
交換機はスロットの取り外し可能な皿を使用し、媒体は皿に置かれ、皿は望ましい位置に移動することを要求する。
CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR
ボリュームをドライブからスロットに移動する場合、ボリュームは以前にドライブに移動したスロットと同じスロットに戻る必要があることを示します。
CHANGER_CLEANER_OPS_NOT_SUPPORTED
クリーニング・カートリッジをダーティ・ドライブに移動するために、変更プログラム・ドライバーの上のソフトウェアによってプログラムでコマンドを実行できないことを示します。 このビットは、CHANGER_DRIVE_CLEANING_REQUIRED ビットが設定されている場合にのみ設定できます。 このビットが設定されている場合は、CHANGER_CLEANER_AUTODISMOUNTとCHANGER_CLEANER_SLOTの両方をリセットする必要があります。
CHANGER_IEPORT_USER_CONTROL_OPEN
この変更ツールでは、閉じた IEport を手動で開く必要があります。
CHANGER_IEPORT_USER_CONTROL_CLOSE
変更ツールでは、開いている IEport を手動で閉じる必要があります。
CHANGER_MOVE_EXTENDS_IEPORT
メディアを IEport に移動するコマンドが発行されるたびに、変更機能によってトレイが自動的に拡張されます。
CHANGER_MOVE_RETRACTS_IEPORT
IEport からメディアを移動するコマンドが発行されるたびに、変更ツールによってトレイが自動的に取り消されます。
MoveFromTransport
changer がトランスポート要素から別のトランスポート要素、ストレージ スロット、IEport、またはドライブへのメディアの移動をサポートしているかどうかを示します。 SCSI 変更機能の場合、これはデバイス機能ページで定義されます。 トランスポートは、通常、メディアを移動または交換するためのソースまたは宛先ではありません。
呼び出し元は、次のマスクを使用して、changer が特定の要素にメディアを移動できるかどうかを判断できます。
CHANGER_TO_TRANSPORT
変更子は、指定された要素からトランスポートに操作を実行できます。
CHANGER_TO_SLOT
changer は、指定された要素からストレージ スロットに操作を実行できます。
CHANGER_TO_IEPORT
changer は、指定された要素から IEport に操作を実行できます。
CHANGER_TO_DRIVE
changer は、指定された要素からドライブに操作を実行できます。
MoveFromSlot
変更子が、ストレージ スロットからトランスポート要素、別のストレージ スロット、IEport、またはドライブへのメディアの移動をサポートしているかどうかを示します。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、変更者が移動をサポートしているかどうかを判断できます。
MoveFromIePort
変更子が IEport からトランスポート要素、ストレージ スロット、別の IEport、またはドライブへのメディアの移動をサポートするかどうかを示します。 SCSI 変更機能の場合、これはデバイス機能ページで定義されます。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、変更者が移動をサポートしているかどうかを判断できます
MoveFromDrive
変更子がドライブからトランスポート要素、ストレージ スロット、IEport、または別のドライブへのメディアの移動をサポートしているかどうかを示します。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、変更者が移動をサポートしているかどうかを判断できます。
ExchangeFromTransport
変更子がトランスポート要素と別のトランスポート要素、ストレージ スロット、IEport、またはドライブ間のメディアの交換をサポートしているかどうかを示します。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、変更者が交換をサポートしているかどうかを判断できます。
ExchangeFromSlot
ストレージ スロットとトランスポート要素、別のストレージ スロット、IEport、またはドライブの間のメディアの交換を、変更者がサポートしているかどうかを示します。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、変更者が交換をサポートしているかどうかを判断できます。
ExchangeFromIePort
変更子が IEport とトランスポート要素、ストレージ スロット、別の IEport、またはドライブ間のメディアの交換をサポートしているかどうかを示します。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、変更者が交換をサポートしているかどうかを判断できます。
ExchangeFromDrive
チェンジャーがドライブとトランスポート要素、ストレージ スロット、IEport、または別のドライブ間のメディア交換をサポートしているかどうかを示します。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、チェンジャーが交換をサポートしているかどうかを判断できます。
LockUnlockCapabilities
プログラムでロックまたはロック解除できるチェンジャーの要素を示します。 このメンバーは、 Features0 でCHANGER_LOCK_UNLOCKが設定されている場合にのみ有効です。
呼び出し元は、次のマスクを使用して、チェンジャーが特定の要素をロックまたはロック解除できるかどうかを判断できます。
LOCK_UNLOCK_IEPORT
チェンジャーは、IEport をロックまたはロック解除できます。
LOCK_UNLOCK_DOOR
チェンジャーはドアをロックまたはロック解除できます。
LOCK_UNLOCK_KEYPAD
チェンジャーは、そのキーパッドをロックまたはロック解除することができます。
PositionCapabilities
チェンジャーがそのトランスポートを配置できる要素を示します。 呼び出し元は、 MoveFromTransport で説明されているマスクを使用して、changer が特定の要素へのトランスポートの配置をサポートしているかどうかを判断できます。 このメンバーは、 Features0 でCHANGER_POSITION_TO_ELEMENTが設定されている場合にのみ有効です。
Reserved1[2]
将来使用するために予約されています。
Reserved2[2]
将来利用するために予約されています。
注釈
GET_CHANGER_PARAMETERS には、チェンジャーのパラメーターが含まれています。 チェンジャー ミニクラス ドライバーは、チェンジャー クラス ドライバーから要求されたときに、この構造体を割り当てて入力します。
要件
要件 | 値 |
---|---|
Header | ntddchgr.h |