estrutura HW_STREAM_OBJECT (strmini.h)
HW_STREAM_OBJECT descreve uma instância de um fluxo de minidriver.
Sintaxe
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;
Membros
SizeOfThisPacket
Especifica o tamanho, em bytes, dessa estrutura.
StreamNumber
Especifica o deslocamento do fluxo dentro da estrutura de HW_STREAM_DESCRIPTOR do minidriver.
HwStreamExtension
Aponta para a extensão de fluxo, um buffer alocado pelo driver de classe para o minidriver usar para armazenar informações privadas sobre esse fluxo. O minidriver define o tamanho do buffer na estrutura HW_INITIALIZATION_DATA que ele passa quando ele se registra com o driver da classe de fluxo.
ReceiveDataPacket
Ponteiro para a rotina StrMiniReceiveStreamDataPacket do fluxo.
ReceiveControlPacket
Ponteiro para a rotina StrMiniReceiveStreamControlPacket do fluxo.
HwClockObject
Contém o objeto de relógio do fluxo. Consulte HW_CLOCK_OBJECT para obter detalhes.
Dma
Se TRUE, o dispositivo usará o DMA para transferir dados para esse fluxo.
Pio
Se TRUE, o dispositivo usará E/S programada para transferir dados para esse fluxo. Observe que os membros Pio e Dma podem ser TRUE.
HwDeviceExtension
Ponteiro para a extensão de dispositivo do minidriver. O minidriver pode usar esse buffer para registrar informações privadas. O minidriver define o tamanho desse buffer na estrutura HW_INITIALIZATION_DATA que ele passa quando ele se registra por meio de StreamClassRegisterMinidriver. O driver de classe também passa ponteiros para esse buffer no membro HwDeviceExtension do HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXT e PORT_CONFIGURATION_INFORMATION estruturas que ele passa para o minidriver.
StreamHeaderMediaSpecific
Especifica o tamanho em bytes da extensão de cabeçalho por fluxo específica da mídia.
StreamHeaderWorkspace
Especifica o tamanho do workspace por cabeçalho de fluxo.
Allocator
Especifica TRUE se o driver usa alocadores. A maioria dos minidrivers define esse valor como FALSE.
HwEventRoutine
Ponteiro para a rotina StrMiniEvent do fluxo
Reserved[2]
Reservado para uso do sistema. Não use.
Comentários
Essa estrutura é criada pelo driver de classe para conter informações sobre um fluxo específico no minidriver. Para cada solicitação específica do fluxo, o driver de classe passa o HW_STREAM_OBJECT para o fluxo no membro StreamObject do bloco de solicitação de fluxo (Consulte HW_STREAM_REQUEST_BLOCK).
Quando o driver de classe abre o fluxo e emite a solicitação SRB_OPEN_STREAM para a rotina StrMiniReceiveDevicePacket do minidriver, o minidriver inicializa o objeto stream.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | strmini.h (inclua Strmini.h) |