HW_STREAM_OBJECT 结构 (strmini.h)

HW_STREAM_OBJECT描述微型驱动程序流的实例。

语法

typedef struct _HW_STREAM_OBJECT {
  ULONG                          SizeOfThisPacket;
  ULONG                          StreamNumber;
  PVOID                          HwStreamExtension;
  PHW_RECEIVE_STREAM_DATA_SRB    ReceiveDataPacket;
  PHW_RECEIVE_STREAM_CONTROL_SRB ReceiveControlPacket;
  HW_CLOCK_OBJECT                HwClockObject;
  BOOLEAN                        Dma;
  BOOLEAN                        Pio;
  PVOID                          HwDeviceExtension;
  ULONG                          StreamHeaderMediaSpecific;
  ULONG                          StreamHeaderWorkspace;
  BOOLEAN                        Allocator;
  PHW_EVENT_ROUTINE              HwEventRoutine;
  ULONG                          Reserved[2];
} HW_STREAM_OBJECT, *PHW_STREAM_OBJECT;

成员

SizeOfThisPacket

指定此结构的大小(以字节为单位)。

StreamNumber

指定流在微型驱动程序的 HW_STREAM_DESCRIPTOR 结构中的偏移量。

HwStreamExtension

指向流扩展,这是类驱动程序为微型驱动程序分配的缓冲区,用于保存有关此流的私有信息。 微型驱动程序在向流类驱动程序注册自身时,会通过 HW_INITIALIZATION_DATA 结构设置缓冲区的大小。

ReceiveDataPacket

指向流的 StrMiniReceiveStreamDataPacket 例程的指针。

ReceiveControlPacket

指向流的 StrMiniReceiveStreamControlPacket 例程的指针。

HwClockObject

包含流的时钟对象。 有关详细信息 ,请参阅HW_CLOCK_OBJECT

Dma

如果 为 TRUE,则设备使用 DMA 传输此流的数据。

Pio

如果 为 TRUE,则设备使用编程的 I/O 来传输此流的数据。 请注意, PioDma 成员可能均为 TRUE

HwDeviceExtension

指向微型驱动程序的设备扩展的指针。 微型驱动程序可以使用此缓冲区来记录私人信息。 微型驱动程序在通过 StreamClassRegisterMinidriver 注册自身时传递的HW_INITIALIZATION_DATA结构中设置此缓冲区的大小。 类驱动程序还将指向HW_STREAM_REQUEST_BLOCKHW_TIME_CONTEXTHwDeviceExtension 成员中的此缓冲区的指针,并将PORT_CONFIGURATION_INFORMATION结构传递给微型驱动程序。

StreamHeaderMediaSpecific

指定特定于媒体的每个流标头扩展的大小(以字节为单位)。

StreamHeaderWorkspace

指定每流标头工作区的大小。

Allocator

如果驱动程序使用分配器,则指定 TRUE 。 大多数微型驱动程序将此值设置为 FALSE

HwEventRoutine

指向流的 StrMiniEvent 例程的指针

Reserved[2]

预留给系统使用。 请勿使用。

注解

此结构由类驱动程序创建,用于保存有关微型驱动程序中特定流的信息。 对于每个特定于流的请求,类驱动程序在流请求块的 StreamObject 成员中传递流的HW_STREAM_OBJECT (请参阅 HW_STREAM_REQUEST_BLOCK) 。

当类驱动程序打开流并向微型驱动程序的 StrMiniReceiveDevicePacket 例程发出SRB_OPEN_STREAM请求时,微型驱动程序初始化流对象。

要求

要求
Header strmini.h (包括 Strmini.h)

另请参阅

HW_CLOCK_OBJECT