HW_STREAM_OBJECT-Struktur (strmini.h)
HW_STREAM_OBJECT beschreibt eine instance eines Minidriver-Streams.
Syntax
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;
Member
SizeOfThisPacket
Gibt die Größe dieser Struktur in Bytes an.
StreamNumber
Gibt den Offset des Datenstroms innerhalb der HW_STREAM_DESCRIPTOR-Struktur des Minitreibers an.
HwStreamExtension
Verweist auf die Streamerweiterung, einen Puffer, der vom Klassentreiber für den Minidriver zugewiesen wird, um private Informationen zu diesem Stream zu speichern. Der Minitreiber legt die Größe des Puffers in der HW_INITIALIZATION_DATA-Struktur fest, die er übergibt, wenn er sich beim Streamklassentreiber registriert.
ReceiveDataPacket
Zeiger auf die StrMiniReceiveStreamDataPacket-Routine des Streams.
ReceiveControlPacket
Zeiger auf die StrMiniReceiveStreamControlPacket-Routine des Streams.
HwClockObject
Enthält das Clock-Objekt des Datenstroms. Weitere Informationen finden Sie unter HW_CLOCK_OBJECT .
Dma
Bei TRUE verwendet das Gerät DMA, um Daten für diesen Stream zu übertragen.
Pio
Wenn TRUE, verwendet das Gerät programmierte E/A, um Daten für diesen Stream zu übertragen. Beachten Sie, dass sowohl die Pio - als auch die Dma-MemberTRUE sein können.
HwDeviceExtension
Zeiger auf die Geräteerweiterung des Minitreibers. Der Minitreiber kann diesen Puffer verwenden, um private Informationen aufzuzeichnen. Der Minidriver legt die Größe dieses Puffers in der HW_INITIALIZATION_DATA-Struktur fest, die er bei der Registrierung über StreamClassRegisterMinidriver übergibt. Der Klassentreiber übergibt auch Zeiger auf diesen Puffer im HwDeviceExtension-Member der HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXT und PORT_CONFIGURATION_INFORMATION Strukturen, die er an den Minitreiber übergibt.
StreamHeaderMediaSpecific
Gibt die Größe der medienspezifischen Pro-Stream-Headererweiterung in Bytes an.
StreamHeaderWorkspace
Gibt die Größe des Arbeitsbereichs pro Streamheader an.
Allocator
Gibt TRUE an, wenn der Treiber Zuweisungen verwendet. Die meisten Minitreiber legen diesen Wert auf FALSE fest.
HwEventRoutine
Zeiger auf die StrMiniEvent-Routine des Streams
Reserved[2]
Ist für das System reserviert. Nicht verwenden.
Hinweise
Diese Struktur wird vom Klassentreiber erstellt, um Informationen zu einem bestimmten Stream im Minitreiber zu speichern. Für jede streamspezifische Anforderung übergibt der Klassentreiber die HW_STREAM_OBJECT für den Stream im StreamObject-Member des Streamanforderungsblocks (siehe HW_STREAM_REQUEST_BLOCK).
Wenn der Klassentreiber den Stream öffnet und die SRB_OPEN_STREAM-Anforderung an die StrMiniReceiveDevicePacket-Routine des Minitreibers ausgibt, initialisiert der Minitreiber das Streamobjekt.
Anforderungen
Anforderung | Wert |
---|---|
Header | strmini.h (include Strmini.h) |