Поделиться через


структура HW_STREAM_OBJECT (strmini.h)

HW_STREAM_OBJECT описывает экземпляр потока мини-driver.

Синтаксис

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 структуре мини-driver.

HwStreamExtension

Указывает на расширение потока, буфер, выделенный драйвером класса для мини-driver для хранения частных сведений об этом потоке. Мини-driver задает размер буфера в структуре HW_INITIALIZATION_DATA, которая передается при регистрации в драйвере класса потока.

ReceiveDataPacket

Указатель на strMiniReceiveStreamDataPacket потока.

ReceiveControlPacket

Указатель на strMiniReceiveStreamControlPacket потока.

HwClockObject

Содержит объект часов потока. Дополнительные сведения см. в HW_CLOCK_OBJECT.

Dma

Если TRUE, устройство использует DMA для передачи данных для этого потока.

Pio

Если TRUE, устройство использует запрограммированный ввод-вывод для передачи данных для этого потока. Обратите внимание, что элементы Pio и D ma Dma могут быть TRUE.

HwDeviceExtension

Указатель на расширение устройства minidriver. Мини-driver может использовать этот буфер для записи частных сведений. Мини-driver задает размер этого буфера в структуре HW_INITIALIZATION_DATA, которая передается при регистрации через StreamClassRegisterMinidriver. Драйвер класса также передает указатели на этот буфер в HwDeviceExtension член HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXTи PORT_CONFIGURATION_INFORMATION структуры, которые он передает в мини-driver.

StreamHeaderMediaSpecific

Задает размер в байтах расширения заголовка для каждого потока для конкретного носителя.

StreamHeaderWorkspace

Задает размер рабочей области заголовка потока.

Allocator

Указывает TRUE, если драйвер использует распределители. Большинство мини-drivers задают это значение как FALSE.

HwEventRoutine

Указатель на процедуру StrMiniE vent потока

Reserved[2]

Зарезервировано для использования системы. Не используйте.

Замечания

Эта структура создается драйвером класса для хранения сведений о конкретном потоке в мини-driver. Для каждого запроса, относящегося к потоку, драйвер класса передает HW_STREAM_OBJECT потока в элементе StreamObject блока запросов потока (см. HW_STREAM_REQUEST_BLOCK).

Когда драйвер класса открывает поток и выдает запрос SRB_OPEN_STREAM запроса на StrMiniReceiveDevicePacket, мини-driver инициализирует объект потока.

Требования

Требование Ценность
заголовка strmini.h (include Strmini.h)

См. также

HW_CLOCK_OBJECT