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