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 de HW_INITIALIZATION_DATA que ele passa quando ele se registra com o driver de classe de fluxo.
ReceiveDataPacket
Ponteiro para a rotina StrMiniReceiveStreamDataPacket do 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 VERDADEIRO, 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 do Pio e Dma podem estar VERDADEIRO.
HwDeviceExtension
Ponteiro para a extensão do 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 HwDeviceExtension membro do HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXTe 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 fluxo de cabeçalho.
Allocator
Especifica verdadeiro se o driver usar 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.
Observações
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 do fluxo no streamObject membro 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 o strMiniReceiveDevicePacket do minidriver rotina, o minidriver inicializa o objeto de fluxo.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | strmini.h (inclua Strmini.h) |