TAPE_INIT_DATA_EX結構 (minitape.h)
TAPE_INIT_DATA_EX定義 Windows 2000 磁帶迷你類別驅動程式特有的值和例程。 磁帶 miniclass DriverEntry 例程會將此資訊傳遞至磁帶類別驅動程式,以完成迷你類別驅動程式初始化。
語法
typedef struct _TAPE_INIT_DATA_EX {
ULONG InitDataSize;
TAPE_VERIFY_INQUIRY_ROUTINE VerifyInquiry;
BOOLEAN QueryModeCapabilitiesPage;
ULONG MinitapeExtensionSize;
TAPE_EXTENSION_INIT_ROUTINE ExtensionInit;
ULONG DefaultTimeOutValue;
TAPE_ERROR_ROUTINE TapeError;
ULONG CommandExtensionSize;
TAPE_PROCESS_COMMAND_ROUTINE CreatePartition;
TAPE_PROCESS_COMMAND_ROUTINE Erase;
TAPE_PROCESS_COMMAND_ROUTINE GetDriveParameters;
TAPE_PROCESS_COMMAND_ROUTINE GetMediaParameters;
TAPE_PROCESS_COMMAND_ROUTINE GetPosition;
TAPE_PROCESS_COMMAND_ROUTINE GetStatus;
TAPE_PROCESS_COMMAND_ROUTINE Prepare;
TAPE_PROCESS_COMMAND_ROUTINE SetDriveParameters;
TAPE_PROCESS_COMMAND_ROUTINE SetMediaParameters;
TAPE_PROCESS_COMMAND_ROUTINE SetPosition;
TAPE_PROCESS_COMMAND_ROUTINE WriteMarks;
TAPE_PROCESS_COMMAND_ROUTINE PreProcessReadWrite;
TAPE_PROCESS_COMMAND_ROUTINE TapeGetMediaTypes;
ULONG MediaTypesSupported;
TAPE_PROCESS_COMMAND_ROUTINE TapeWMIOperations;
ULONG Reserved[2];
} TAPE_INIT_DATA_EX, *PTAPE_INIT_DATA_EX;
成員
InitDataSize
這個 結構的大小,以位元組為單位。
VerifyInquiry
指定磁帶迷你類別驅動程式 的TapeMiniVerifyIn查詢 例程的進入點,決定驅動程式是否支援指定的裝置。 此例程是必要的。
QueryModeCapabilitiesPage
當 TRUE 將模式功能頁面傳遞至磁帶迷你類別驅動程式的 TapeMiniVerifyIn查詢 和 TapeMiniExtensionInit 例程時,會指示磁帶類別驅動程式。
MinitapeExtensionSize
指定驅動程式特定內容區域的大小,以位元組為單位。 如果此成員為非零, ExtensionInit 不得為 NULL。 這個值是選擇性的,如果未使用,則必須設定為零。
ExtensionInit
磁帶迷你類別驅動程式 的TapeMiniExtensionInit 例程指標,如果有的話,會初始化選用的minitape擴充功能。 如果 MiniTapeExtensionSize 為零, ExtensionInit 必須是 NULL。
DefaultTimeOutValue
指定磁帶類別驅動程式在取消 SRB 要求之前等候 SRB 要求的秒數。 如果此值為零,磁帶類別驅動程式會設定適當的預設值。 磁帶類別驅動程式一律會針對讀取和寫入要求使用預設逾時值。 包含在TAPE_INIT_DATA_EX結構中的例程可以藉由在 SRB 中設定 TimeOutValue ,覆寫裝置控制要求的預設逾時值。
TapeError
磁帶迷你類別驅動程式 的TapeMiniTapeError 例程指標,可增強磁帶類別驅動程式的錯誤處理活動。 此例程是選擇性的。 如果未使用 ,則TapeError 必須設定為 NULL。
CommandExtensionSize
指定要在每個磁帶命令開始之前配置之命令擴充功能的大小,以位元組為單位。 磁帶迷你類別驅動程式會在處理磁帶命令期間使用命令擴充功能來儲存內容。 其大小和內部結構是由磁帶迷你類別驅動程式所定義。 命令延伸模組是選擇性的。 如果未使用 CommandExtensionSize,則必須將 CommandExtensionSize 設定為零。
CreatePartition
磁帶迷你類別驅動程式 的TapeMiniCreatePartition 例程指標,它會在磁帶上建立分割區。 此例程是必要的。
Erase
磁帶迷你類別驅動程式 的TapeMiniErase 例程指標,可清除磁帶。 此例程是必要的。
GetDriveParameters
磁帶迷你類別驅動程式 的TapeMiniGetDriveParameters 例程指標,它會處理取得磁碟驅動器參數的要求。 此例程是必要的。
GetMediaParameters
磁帶迷你類別驅動程式 的TapeMiniGetMediaParameters 例程指標,它會處理取得媒體參數的要求。 此例程是必要的。
GetPosition
磁帶迷你類別驅動程式 的TapeMiniGetPosition 例程指標,它會處理取得磁帶位置的要求。 此例程是必要的。
GetStatus
磁帶迷你類別驅動程式 的TapeMiniGetStatus 例程指標,此例程會處理狀態的要求。 此例程是必要的。
Prepare
磁帶迷你類別驅動程式 的TapeMiniPrepare 例程指標,該例程會準備磁帶裝置。 此例程是必要的。
SetDriveParameters
磁帶迷你類別驅動程式 的TapeMiniSetDriveParameters 例程指標,可設定磁碟驅動器參數。 此例程是必要的。
SetMediaParameters
磁帶迷你類別驅動程式 的TapeMiniSetMediaParameters 例程指標,可設定媒體參數。 此例程是必要的。
SetPosition
磁帶迷你類別驅動程式 的TapeMiniSetPosition 例程指標,此例程會放置磁帶。 此例程是必要的。
WriteMarks
磁帶迷你類別驅動程式 的TapeMiniWriteMarks 例程指標,此例程會將標記寫入磁帶。 此例程是必要的。
PreProcessReadWrite
磁帶迷你類別驅動程式 的TapeMiniPreProcessReadWrite 例程的指標,它會在所有讀取和寫入之前執行裝置特定作業。 此例程是選擇性的,而且大部分驅動程式都不需要。 如果未使用 ,PreProcessReadWrite 必須是 NULL。
TapeGetMediaTypes
磁帶迷你類別驅動程式 的TapeMiniGetMediaTypes 例程的指標,可取得磁帶裝置所支援之每個媒體類型的描述。 此例程是必要的。
MediaTypesSupported
指出裝置支持的媒體類型數目。
TapeWMIOperations
TapeMiniWMIControl 例程的指標。
Reserved[2]
保留的。
備註
磁帶迷你類別驅動程式的 DriverEntry 例程會呼叫 TapeClassZeroMemory 來清除TAPE_INIT_DATA_EX、填入必要的成員和任何適當的選擇性成員,以及使用這個結構的指標來填入 TapeClassInitialize 。
這個結構的成員描述中所指出的磁帶迷你類別驅動程式例程名稱只是佔位元名稱。 這些例程的原型會在 newtape.h 中宣告為 TAPE_PROCESS_COMMAND_ROUTINE。
此原型參數的意義會針對每個迷你類別驅動程式例程而有所不同。 如需如何使用這些參數的詳細資訊,請參閱每個個別迷你類別驅動程式例程的描述。
規格需求
需求 | 值 |
---|---|
標頭 | minitape.h (包含 Minitape.h) |
另請參閱
<a href=“Tape Miniclass Driver 的 DriverEntry