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;

Members

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 l'I/O programmato per trasferire i dati per questo flusso. Si noti che i membri di Pio e 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 nel membro HwDeviceExtension del HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXT e PORT_CONFIGURATION_INFORMATION strutture che 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 ogni intestazione di flusso.

Allocator

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

HwEventRoutine

Puntatore alla routine StrMiniEvent del flusso

Reserved[2]

Riservato per l'utilizzo nel sistema. Non usare.

Commenti

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 richiesta di flusso (vedere HW_STREAM_REQUEST_BLOCK).

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

Requisiti

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

Vedi anche

HW_CLOCK_OBJECT