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


структура 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, устройство использует запрограммированный ввод-вывод для передачи данных для этого потока. Обратите внимание, что элементы Pio и Dma могут иметь значение TRUE.

HwDeviceExtension

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

StreamHeaderMediaSpecific

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

StreamHeaderWorkspace

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

Allocator

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

HwEventRoutine

Указатель на подпрограмму StrMiniEvent потока

Reserved[2]

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

Комментарии

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

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

Требования

Требование Значение
Заголовок strmini.h (включая Strmini.h)

См. также раздел

HW_CLOCK_OBJECT