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