TAPE_INIT_DATA_EX 结构 (minitape.h)
TAPE_INIT_DATA_EX定义特定于 Windows 2000 磁带小类驱动程序的值和例程。 磁带微型类 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
指定磁带微型类驱动程序的 TapeMiniVerifyInquiry 例程的入口点,该例程确定驱动程序是否支持给定设备。 此例程是必需的。
QueryModeCapabilitiesPage
当 为 TRUE 时,指示磁带类驱动程序将模式功能页传递到磁带微型类驱动程序的 TapeMiniVerifyInquiry 和 TapeMiniExtensionInit 例程。
MinitapeExtensionSize
指定特定于驱动程序的上下文区域的大小(以字节为单位)。 如果此成员为非零, 则 ExtensionInit 不得为 NULL。 此值是可选的,如果未使用,则必须将其设置为零。
ExtensionInit
指向磁带微型类驱动程序的 TapeMiniExtensionInit 例程的指针,该例程初始化可选的微型任务扩展(如果有)。 如果 MiniTapeExtensionSize 为零, 则 ExtensionInit 必须为 NULL。
DefaultTimeOutValue
指定磁带类驱动程序在取消 SRB 请求之前等待它的秒数。 如果此值为零,磁带类驱动程序将设置适当的默认值。 磁带类驱动程序始终对读取和写入请求使用默认超时值。 TAPE_INIT_DATA_EX 结构中包含的例程可以通过在 SRB 中设置 TimeOutValue 来替代设备控制请求的默认超时值。
TapeError
指向磁带微型类驱动程序的 TapeMiniTapeError 例程的指针,该例程可增强磁带类驱动程序的错误处理活动。 此例程是可选的。 如果未使用,则 TapeError 必须设置为 NULL。
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。
对于每个微型类驱动程序例程,此原型参数的含义各不相同。 有关如何使用这些参数的详细信息,请参阅每个微类驱动程序例程的说明。
要求
要求 | 值 |
---|---|
Header | minitape.h (包括 Minitape.h) |
另请参阅
<a href=“DriverEntry of Tape Miniclass Driver