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 遮罩,來判斷磁碟驅動器是否支援特定功能。 可用的遮罩如下所示:
面具 | 意義 |
---|---|
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 | 裝置支援setmark報告。 |
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
如果 FeaturesLow中設定了TAPE_DRIVE_HIGH_FEATURES,表示此磁碟驅動器所支援的其他功能。 迷你埠驅動程式會針對磁碟驅動器所支援的功能設定TAPE_DRIVE_XXX 旗標,並清除不支援的功能旗標。 呼叫端可以使用 minitape.h 中定義的 TAPE_DRIVE_XXX 遮罩,來判斷磁碟驅動器是否支援特定功能。
面具 | 意義 |
---|---|
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 | 裝置會將磁帶向後移動區塊、檔案標記或設定標記。 |
TAPE_DRIVE_REWIND_IMMEDIATE | 裝置支援立即倒轉作業。 |
TAPE_DRIVE_SEQUENTIAL_FMKS | 裝置會將磁帶向前或向後移動至指定數目連續檔標記的第一個出現次數。 |
TAPE_DRIVE_SEQUENTIAL_SMKS | 裝置會將磁帶向前或向後移動至指定數目連續設定標記的第一個出現次數。 |
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 | 裝置會寫入設定標記。 |
TAPE_DRIVE_WRITE_SHORT_FMKS | 裝置會寫入簡短的檔案標記。 |
EOTWarningZoneSize
指出磁帶結尾的早期警告區域位元組大小。 裝置在進入區域時會傳回檢查條件。
要求
要求 | 價值 |
---|---|
標頭 | minitape.h (包括 Ntddtape.h、Minitape.h) |