HW_INITIALIZATION_DATA结构(strmini.h)
HW_INITIALIZATION_DATA结构指定类驱动程序开始初始化微型驱动程序所需的基本信息。 微型驱动程序通过调用 streamClassRegisterMinidriver 将HW_INITIALIZATION_DATA结构传递给类驱动程序。
语法
typedef struct _HW_INITIALIZATION_DATA {
union {
ULONG HwInitializationDataSize;
struct {
USHORT SizeOfThisPacket;
USHORT StreamClassVersion;
};
};
ULONG HwInitializationDataSize;
PHW_INTERRUPT HwInterrupt;
PHW_RECEIVE_DEVICE_SRB HwReceivePacket;
PHW_CANCEL_SRB HwCancelPacket;
PHW_REQUEST_TIMEOUT_HANDLER HwRequestTimeoutHandler;
ULONG DeviceExtensionSize;
ULONG PerRequestExtensionSize;
ULONG PerStreamExtensionSize;
ULONG FilterInstanceExtensionSize;
BOOLEAN BusMasterDMA;
BOOLEAN Dma24BitAddresses;
ULONG BufferAlignment;
BOOLEAN TurnOffSynchronization;
ULONG DmaBufferSize;
ULONG NumNameExtensions;
PWCHAR *NameExtensionArray;
ULONG Reserved[2];
} HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA;
成员
HwInitializationDataSize
指定此数据结构的大小(以字节为单位)。
SizeOfThisPacket
StreamClassVersion
HwInterrupt
指向微型驱动程序的 StrMiniInterrupt 例程。
HwReceivePacket
指向微型驱动程序的 StrMiniReceiveDevicePacket 例程。
HwCancelPacket
指向微型驱动程序的 StrMiniCancelPacket 例程。
HwRequestTimeoutHandler
指向微型驱动程序的 StrMiniRequestTimeout 例程。
DeviceExtensionSize
指定类驱动程序应为微型驱动程序的设备扩展分配的缓冲区的大小(以字节为单位)。 微型驱动程序可以使用此缓冲区来记录私人信息。 类驱动程序将指针传递给 HwDeviceExtensionHW_STREAM_OBJECT、HW_STREAM_REQUEST_BLOCK、HW_TIME_CONTEXT的此缓冲区,并 PORT_CONFIGURATION_INFORMATION 它传递给微型驱动程序的结构。
PerRequestExtensionSize
指定类驱动程序应通过 SRBExtension 传递给微型驱动程序的 HW_STREAM_REQUEST_BLOCK 结构的成员为缓冲区分配的缓冲区的大小(以字节为单位)。 类驱动程序将为每个HW_STREAM_REQUEST_BLOCK分配一个缓冲区。
PerStreamExtensionSize
指定类驱动程序应为 HwStreamExtension 流 HW_STREAM_OBJECT成员指向的缓冲区分配的缓冲区的大小(以字节为单位)。 类驱动程序将为每个流分配一个缓冲区。
FilterInstanceExtensionSize
指定类扩展应为 HwInstanceExtension 指向的缓冲区分配的缓冲区的大小(以字节为单位) 它传递给微型驱动程序的 HW_STREAM_REQUEST_BLOCK 结构的成员。 类驱动程序为每个微型驱动程序实例分配一个缓冲区。
BusMasterDMA
如果 TRUE,设备可以将直接总线主 DMA 执行到微型驱动程序的 DMA 缓冲区。
Dma24BitAddresses
如果设备使用的 DMA 硬件只能访问地址空间较低的 24 位,微型驱动程序应将此设置为 TRUE。
BufferAlignment
指定 DMA 缓冲区的对齐要求(以字节为单位)。 例如,值为 4 表示 DMA 缓冲区应在 4 字节边界上对齐。
TurnOffSynchronization
如果 TRUE,微型驱动程序将处理其自己的同步;否则,类驱动程序将处理同步。 大多数微型驱动程序应将此值设置为 FALSE。 有关详细信息,请参阅 流式处理微型驱动程序设计指南 中的 微型驱动程序同步。
DmaBufferSize
指定类驱动程序应为微型驱动程序分配的 DMA 缓冲区的大小(以字节为单位)。 微型驱动程序通过调用 StreamClassGetDmaBuffer来获取指向此缓冲区的指针。 类驱动程序分配不可用于作系统或其他驱动程序的连续不可分页内存,因此此值应尽可能小。
NumNameExtensions
NameExtensionArray
Reserved[2]
保留供系统使用。 微型驱动程序应忽略此成员。
要求
要求 | 价值 |
---|---|
标头 | strmini.h (包括 Strmini.h) |