TAPE_GET_DRIVE_PARAMETERS結構 (minitape.h)
TAPE_GET_DRIVE_PARAMETERS 結構會與 IOCTL_TAPE_GET_DRIVE_PARAMS 要求搭配使用,以擷取磁帶機功能的相關信息。
語法
typedef struct _TAPE_GET_DRIVE_PARAMETERS {
BOOLEAN ECC;
BOOLEAN Compression;
BOOLEAN DataPadding;
BOOLEAN ReportSetmarks;
ULONG DefaultBlockSize;
ULONG MaximumBlockSize;
ULONG MinimumBlockSize;
ULONG MaximumPartitionCount;
ULONG FeaturesLow;
ULONG FeaturesHigh;
ULONG EOTWarningZoneSize;
} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;
成員
ECC
當設定為 TRUE 時,表示裝置使用硬體錯誤修正。
Compression
當設定為 TRUE 時,表示支援壓縮的裝置上已啟用。 啟用壓縮時,裝置會在寫入數據之前先壓縮數據。 當設定為 FALSE 時,裝置上不會啟用壓縮。
DataPadding
當設定為 TRUE 時,表示支援資料填補的裝置上已啟用。 啟用填補時,裝置會填補零的數據,以保留磁帶串流,直到數據就緒為止。 當設定為 FALSE 時,不會啟用資料填補。
ReportSetmarks
當設定為 TRUE 時,表示在支援的裝置上啟用報告設定標記。 裝置會報告讀取或空間作業期間遇到的設定標記。 當設定為 FALSE 時,不會啟用報告設定標記。
DefaultBlockSize
表示預設區塊大小,以位元組為單位。
MaximumBlockSize
指出磁帶裝置或基礎主機總線適配卡的最大區塊大小,以位元組為單位, (HBA) ,無論大小為何。
MinimumBlockSize
表示最小區塊大小,以位元組為單位。
MaximumPartitionCount
指出裝置支援的分割區數目上限。
FeaturesLow
指出此磁碟驅動器支援的功能。 迷你埠驅動程式會針對磁碟驅動器支援的功能設定TAPE_DRIVE_XXX 旗標,並清除不支援的功能旗標。 呼叫端可以使用 minitape.h 中定義的 TAPE_DRIVE_XXX 遮罩來判斷磁碟驅動器是否支援特定功能。 可用的遮罩如下所示:
Mask | 意義 |
---|---|
TAPE_DRIVE_CLEAN_REQUESTS | 裝置可以報告是否需要清除。 |
TAPE_DRIVE_COMPRESSION | 裝置支援硬體數據壓縮。 |
TAPE_DRIVE_ECC | 裝置支援硬體錯誤修正。 |
TAPE_DRIVE_EJECT_MEDIA | 裝置退出媒體。 |
TAPE_DRIVE_EOT_WZ_SIZE | 裝置可以報告區域警告大小的結束。 |
TAPE_DRIVE_ERASE_BOP_ONLY | 裝置只會從分割區開頭標記執行清除作業。 |
TAPE_DRIVE_ERASE_IMMEDIATE | 裝置會執行立即清除作業 ?? 也就是說,它會在清除作業開始時傳回。 |
TAPE_DRIVE_ERASE_LONG | 裝置會執行長時間清除作業。 |
TAPE_DRIVE_ERASE_SHORT | 裝置會執行簡短的清除作業。 |
TAPE_DRIVE_FIXED | 裝置會建立固定的數據分割區。 |
TAPE_DRIVE_FIXED_BLOCK | 裝置支援固定長度的區塊模式。 |
TAPE_DRIVE_INITIATOR | 裝置會建立起始器定義的分割區。 |
TAPE_DRIVE_GET_ABSOLUTE_BLK | 裝置提供目前的裝置特定區塊位址。 |
TAPE_DRIVE_GET_LOGICAL_BLK | 裝置會提供目前的邏輯區塊位址 (和邏輯磁帶磁碟分區) 。 |
TAPE_DRIVE_PADDING | 裝置支援數據填補。 |
TAPE_DRIVE_REPORT_SMKS | 裝置支援設定標記報告。 |
TAPE_DRIVE_RESERVED_BIT | 識別保留位的遮罩。 驅動程式不得設定這個位。 |
TAPE_DRIVE_SELECT | 裝置會建立選取數據分割。 |
TAPE_DRIVE_SET_CMP_BOP_ONLY | 當讀取/寫入前端位於分割區的開頭時,裝置才允許啟用壓縮。 |
TAPE_DRIVE_SET_EOT_WZ_SIZE | 裝置支援設定中型警告大小的結尾。 |
TAPE_DRIVE_TAPE_CAPACITY | 裝置會傳回磁帶的最大容量。 |
TAPE_DRIVE_TAPE_REMAINING | 裝置會傳回磁帶的剩餘容量。 |
TAPE_DRIVE_VARIABLE_BLOCK | 裝置支援可變長度區塊模式。 |
TAPE_DRIVE_WRITE_PROTECT | 如果磁帶已啟用寫入或受寫入保護,裝置會傳回錯誤。 |
FeaturesHigh
如果 TAPE_DRIVE_HIGH_FEATURES是在FeaturesLow中設定,則表示此磁碟驅動器所支援的其他功能。 迷你埠驅動程式會針對磁碟驅動器支援的功能設定TAPE_DRIVE_XXX 旗標,並清除不支援的功能旗標。 呼叫端可以使用 minitape.h 中定義的TAPE_DRIVE_XXX 遮罩來判斷磁碟驅動器是否支援特定功能。
Mask | 意義 |
---|---|
TAPE_DRIVE_ABS_BLK_IMMED | 裝置會將磁帶移至裝置特定的區塊位址,並在移動開始時立即傳回。 |
TAPE_DRIVE_ABSOLUTE_BLK | 裝置會將磁帶移至裝置特定的封鎖位址。 |
TAPE_DRIVE_END_OF_DATA | 裝置會將磁帶移至數據分割中的數據尾標記。 |
TAPE_DRIVE_FILEMARKS | 裝置會將磁帶向前移動 (或向後移動,) 指定的檔案標記數目。 |
TAPE_DRIVE_FORMAT | 裝置可以格式化媒體。 |
TAPE_DRIVE_FORMAT_IMMEDIATE | 裝置可以將媒體格式化為立即命令。 |
TAPE_DRIVE_HIGH_FEATURES | 位掩碼,表示對應至高特徵的位。 |
TAPE_DRIVE_LOAD_UNLOAD | 裝置會啟用和停用裝置以進行進一步的作業。 |
TAPE_DRIVE_LOAD_UNLD_IMMED | 裝置支援立即載入和卸除作業。 |
TAPE_DRIVE_LOCK_UNLOCK | 裝置會啟用並停用磁帶退出機制。 |
TAPE_DRIVE_LOCK_UNLK_IMMED | 裝置支援立即鎖定和解除鎖定作業。 |
TAPE_DRIVE_LOG_BLK_IMMED | 裝置會將磁帶移至分割區中的邏輯區塊位址,並在移動開始時立即傳回。 |
TAPE_DRIVE_LOGICAL_BLK | 裝置會將磁帶移至磁碟分區中的邏輯區塊位址。 |
TAPE_DRIVE_RELATIVE_BLKS | 裝置會將磁帶向前移動 (或向後移動) 指定數目的區塊。 |
TAPE_DRIVE_REVERSE_POSITION | 裝置會將磁帶往回移動區塊、檔案標記或 setmark。 |
TAPE_DRIVE_REWIND_IMMEDIATE | 裝置支援立即倒轉作業。 |
TAPE_DRIVE_SEQUENTIAL_FMKS | 裝置會將磁帶向前移動 (或向後移動) 到指定數目連續檔案標記的第一次出現。 |
TAPE_DRIVE_SEQUENTIAL_SMKS | 裝置會將磁帶向前移動 (或向後移動) 到指定數目連續的 setmark。 |
TAPE_DRIVE_SET_BLOCK_SIZE | 裝置支援設定固定長度邏輯區塊的大小,或設定可變長度區塊模式。 |
TAPE_DRIVE_SET_COMPRESSION | 裝置會啟用和停用硬體數據壓縮。 |
TAPE_DRIVE_SET_ECC | 裝置會啟用和停用硬體錯誤修正。 |
TAPE_DRIVE_SET_PADDING | 裝置會啟用和停用數據填補。 |
TAPE_DRIVE_SET_REPORT_SMKS | 裝置會啟用和停用設定標記的報告。 |
TAPE_DRIVE_SETMARKS | 裝置會將磁帶向前移動 (或反向) 指定數目的設定標記。 |
TAPE_DRIVE_SPACE_IMMEDIATE | 裝置支援立即間距。 |
TAPE_DRIVE_TENSION | 裝置支援磁帶調和。 |
TAPE_DRIVE_TENSION_IMMED | 裝置支援立即磁帶包裝。 |
TAPE_DRIVE_WRITE_FILEMARKS | 裝置會寫入檔案標記。 |
TAPE_DRIVE_WRITE_LONG_FMKS | 裝置會寫入長檔案標記。 |
TAPE_DRIVE_WRITE_MARK_IMMED | 裝置支援立即寫入短和長檔案標記。 |
TAPE_DRIVE_WRITE_SETMARKS | 裝置會寫入 setmark。 |
TAPE_DRIVE_WRITE_SHORT_FMKS | 裝置會寫入簡短的檔案標記。 |
EOTWarningZoneSize
表示在磁帶結尾處早期警告區域的大小,以位元組為單位。 裝置在進入區域時會傳回檢查條件。
規格需求
需求 | 值 |
---|---|
標頭 | minitape.h (包含 Ntddtape.h、Minitape.h) |