структура 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) |