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 时,指示磁带类驱动程序将模式功能页传递到磁带微型类驱动程序的 TapeMiniVerifyInquiryTapeMiniExtensionInit 例程。

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

TapeClassInitialize

TapeClassZeroMemory

TapeMiniCreatePartition

TapeMiniErase

TapeMiniExtensionInit

TapeMiniGetDriveParameters

TapeMiniGetMediaParameters

TapeMiniGetMediaTypes

TapeMiniGetPosition

TapeMiniGetStatus

TapeMiniPrepare

TapeMiniSetDriveParameters

TapeMiniSetMediaParameters

TapeMiniSetPosition

TapeMiniTapeError

TapeMiniVerifyInquiry

TapeMiniWriteMarks