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) |