Condividi tramite


struttura HW_STREAM_OBJECT (strmini.h)

HW_STREAM_OBJECT descrive un'istanza di un flusso di minidriver.

Sintassi

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;

Membri

SizeOfThisPacket

Specifica le dimensioni, in byte, di questa struttura.

StreamNumber

Specifica l'offset del flusso all'interno della struttura HW_STREAM_DESCRIPTOR del minidriver.

HwStreamExtension

Punta all'estensione del flusso, un buffer allocato dal driver di classe per il minidriver da usare per contenere informazioni private su questo flusso. Il minidriver imposta le dimensioni del buffer nella struttura HW_INITIALIZATION_DATA che passa quando si registra con il driver della classe di flusso.

ReceiveDataPacket

Puntatore alla routine strMiniReceiveStreamDataPacket del flusso.

ReceiveControlPacket

Puntatore alla routine StrMiniReceiveStreamControlPacket del flusso.

HwClockObject

Contiene l'oggetto orologio del flusso. Per informazioni dettagliate, vedere HW_CLOCK_OBJECT.

Dma

Se TRUE, il dispositivo usa DMA per trasferire i dati per questo flusso.

Pio

Se TRUE, il dispositivo usa le I/O programmate per trasferire i dati per questo flusso. Si noti che sia i membri Pio che Dma possono essere TRUE.

HwDeviceExtension

Puntatore all'estensione del dispositivo del minidriver. Il minidriver può usare questo buffer per registrare informazioni private. Il minidriver imposta le dimensioni di questo buffer nella struttura HW_INITIALIZATION_DATA che passa quando si registra tramite StreamClassRegisterMinidriver. Il driver di classe passa anche puntatori a questo buffer nella HwDeviceExtension membro del HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXTe PORT_CONFIGURATION_INFORMATION strutture passa al minidriver.

StreamHeaderMediaSpecific

Specifica le dimensioni in byte dell'estensione di intestazione per flusso specifica del supporto.

StreamHeaderWorkspace

Specifica le dimensioni dell'area di lavoro per intestazione di flusso.

Allocator

Specifica true se il driver usa allocatori. La maggior parte dei minidriver imposta questo valore su FALSE.

HwEventRoutine

Puntatore alla routine StrMiniEvent del flusso

Reserved[2]

Riservato per l'uso del sistema. Non usare.

Osservazioni

Questa struttura viene creata dal driver di classe per contenere informazioni su un determinato flusso nel minidriver. Per ogni richiesta specifica del flusso, il driver di classe passa il HW_STREAM_OBJECT per il flusso nel membro StreamObject del blocco di richieste di flusso (vedere HW_STREAM_REQUEST_BLOCK).

Quando il driver di classe apre il flusso e invia la richiesta di SRB_OPEN_STREAM al minidriver StrMiniReceiveDevicePacket routine, il minidriver inizializza l'oggetto flusso.

Fabbisogno

Requisito Valore
intestazione strmini.h (include Strmini.h)

Vedere anche

HW_CLOCK_OBJECT