共用方式為


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,因為大部分的變更者都有單一傳輸元素,具有一或兩個選擇器機制。 在傳輸上有兩個選擇器機制的變更器不能表示為具有兩個傳輸,因為選擇器無法個別尋址。 高階媒體櫃可以有雙重和多個傳輸元素,以進行容錯。

NumberStorageElements

變更器中) 位置 (儲存元素的數目。 若為SCSI變更器,這會定義於元素位址頁面中。 這個值代表此變更器可用的插槽數目上限,包括是否安裝卸載式雜誌中的插槽。 如果 NumberCleanerSlots1,NumberStorageElements 會小於變更器中插槽的最大數目。

NumberCleanerSlots

(位置) 儲存元素的數目,以清除變更器中的清理器。 如果 NumberCleanerSlots 為 1, 則 FirstCleanerSlotAddress 會指出應該插入磁碟驅動器清除器的位置之以零起始的位址。 如果變更器不支援以程序設計方式將清理器從其插槽移至磁碟驅動器, NumberCleanerSlots 為 0。 NumberCleanerSlots 不能大於 1。

NumberIEElements

變更器) 插入/退出媒體時, (插入/退出埠的匯入/匯出元素數目。 若為SCSI變更器,這會定義於元素位址頁面中。 匯入/導出元素不能是儲存元素 (位置) 空間的一部分,而且必須使用MOVE MEDIUM命令在匯入/匯出專案與位置之間傳輸媒體。 如果變更器有門,而不是真正的匯入/導出元素, NumberIEElements 是 0。

NumberDataTransferElements

變更器中 (磁碟驅動器) 的數據傳輸元素數目。 若為SCSI變更器,這會定義於元素位址頁面中。 不同於 NumberStorageElements,這表示是否實際存在插槽的可能位置總數, NumberDataTransferElements 會指出變更器中實際存在的磁碟驅動器數目。

NumberOfDoors

變更器中的門數。 門可讓您一次存取變更器中的所有媒體,與插入/退出埠不同,這可讓您存取一或多個媒體,但並非所有媒體。 變更器的門可以是實體前門或包含所有媒體的單一雜誌。 如果變更器只支援插入/退出埠來插入和退出媒體, NumberOfDoors 為 0。

FirstSlotNumber

變更程式廠商用來識別變更工具中第一個儲存元素 (位置) 給終端使用者,方法是標記雜誌,或在變更器的運算元指南中定義位置編號配置。 FirstSlotNumber 通常是 0 或 1,但它可以是廠商所定義之連續位置位址範圍中的第一個位址。

FirstDriveNumber

變更程式廠商用來識別變更工具中第一個數據傳輸元素 (磁碟驅動器) 給終端使用者。 FirstDriveNumber 通常是 0 或 1,但它可以是廠商所定義之磁碟驅動器地址連續範圍中的第一個位址。

FirstTransportNumber

變更程式廠商用來識別第一個 (,而且通常只會將變更器中的傳輸元素) 給終端使用者。 FirstTransportNumber 通常是 0 或 1,但它可以是廠商所定義之連續傳輸位址範圍內的第一個位址。

FirstIEPortNumber

變更程式廠商用來識別第一個 (,通常只會將變更工具中的插入/退出埠) 給終端使用者。 FirstIEPortNumber 通常是 0 或 1,但它可以是廠商所定義之連續插入/退出埠地址範圍中的第一個位址。 如果 NumberIEElements0,FirstIEPortNumber 也必須是 0。

FirstCleanerSlotAddress

變更器廠商用來識別第一個 (,且只會) 位置位址指派給終端使用者的磁碟驅動器清理器。 這必須是變更器運算元指南中廠商所定義的值。 例如,如果變更器有 8 個插槽編號為 1 到 8,且其操作員指南將插槽 8 指定為磁碟驅動器清除器插槽, FirstSlotNumber 會是 1, 而 FirstCleanerSlotAddress 會是 8。 如果相同的 8 個插槽編號為 0 到 7,FirstSlotNumber 會是 0, 而 FirstCleanerSlotAddress 會是 7。 如果 NumberCleanerSlots0,FirstCleanerSlotAddress 必須是 0。

MagazineSize

變更器中抽取式雜誌中的位置數目。 只有當 CHANGER_CARTRIDGE_MAGAZINE 在 Features0 中設定時,此成員才有效。

DriveCleanTimeout

清理預期需要花費的秒數上限兩倍。 變更器的磁碟驅動器應該在 DriveCleanTimeout 所指定的一半時間內,由其更簡潔的磁碟驅動器清除。 例如,如果磁碟驅動器通常會在 300 秒 (5 分鐘) 清除, 則 DriveCleanTimeout 應該設定為 600。

Features0

變更器支援的功能。 這個成員可以是下列一或多個值。

意義
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_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
變更器可以初始化指定範圍內的專案。 對於 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
變更器會針對項目狀態資訊使用非volatiatile 記憶體。
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 變更器,此旗標會指出變更器是否支援 SEND VOLUME TAG 命令與 ASSERT 的傳送動作代碼。
CHANGER_VOLUME_IDENTIFICATION
0x00100000
變更器支援磁碟區識別。 對於 SCSI 變更器,此旗標會指出變更器是否支援 SEND VOLUME TAG 和 REQUEST VOLUME ELEMENT ADDRESS 命令。
CHANGER_VOLUME_REPLACE
0x00800000
變更器可以取代磁碟區資訊。 對於 SCSI 變更器,此旗標會指出變更器是否支援 SEND VOLUME TAG 命令,並包含 REPLACE 的傳送動作代碼。
CHANGER_VOLUME_SEARCH
0x00200000
變更器可以搜尋磁碟區資訊。 若為 SCSI 變更器,此旗標會指出變更器是否支援支援 SEND VOLUME TAG 命令,並包含 TRANSLATE 的傳送動作代碼。
CHANGER_VOLUME_UNDEFINE
0x01000000
變更器可以清除現有的磁碟區資訊。 若為 SCSI 變更器,此旗標會指出變更器是否支援 SEND VOLUME TAG 命令,且傳送動作代碼為 UNDEFINE。

Features1

變更器支援的任何其他功能。 這個成員可以是下列一或多個值。

意義
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_PREDISMOUNT_ALIGN_TO_SLOT
0x80000001
變更器需要明確的命令,才能將傳輸元素放置在位置,才能從位置退出媒體。
CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR
0x80000020
變更程式需要在行動媒體之後,將媒體傳回至其原始位置。
CHANGER_SLOTS_USE_TRAYS
0x80000010
變更程式會在其插槽中使用抽取式匣,這需要將媒體放在匣中,而匣會移至所需的位置。
CHANGER_TRUE_EXCHANGE_CAPABLE
0x80000008
變更器可以在單一作業中的來源與目的地之間交換媒體。 只有在 功能0 中也設定CHANGER_EXCHANGE_MEDIA時,此旗標才有效。

MoveFromTransport

指出變更器是否支援將媒體片段從傳輸元素移至另一個傳輸元素、儲存位置、插入/退出埠或磁碟驅動器。 針對 SCSI 變更器,這會定義在裝置功能頁面中。 傳輸通常不是移動或交換媒體的來源或目的地。

若要判斷變更器是否可以將媒體移至指定的元素,請使用下列值。

意義
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時,這個成員才有效。

若要判斷變更器是否可以鎖定或解除鎖定特定元素,請使用下列一或多個值。

意義
LOCK_UNLOCK_DOOR
0x02
變更者可以鎖定或解除鎖定其門。
LOCK_UNLOCK_IEPORT
0x01
變更程式可以鎖定或解除鎖定其插入/退出埠。
LOCK_UNLOCK_KEYPAD
0x04
變更程式可以鎖定或解除鎖定其鍵盤。

PositionCapabilities

變更器可以放置其傳輸的專案。 使用 MoveFromTransport 底下所述的旗標,判斷變更器是否支援將傳輸定位至特定元素。 只有在 Features0中設定CHANGER_POSITION_TO_ELEMENT時,這個成員才有效。

Reserved1[2]

保留供未來使用。

Reserved2[2]

保留供未來使用。

規格需求

需求
最低支援的用戶端 Windows XP
最低支援的伺服器 Windows Server 2003
標頭 winioctl.h (包含 Windows.h)

另請參閱

IOCTL_CHANGER_GET_PARAMETERS