HW_STREAM_OBJECT Struktur (strmini.h)
HW_STREAM_OBJECT beschreibt eine Instanz eines Minidriver-Datenstroms.
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;
Angehörige
SizeOfThisPacket
Gibt die Größe dieser Struktur in Bytes an.
StreamNumber
Gibt den Offset des Datenstroms innerhalb der HW_STREAM_DESCRIPTOR Struktur des Minidrivers an.
HwStreamExtension
Verweist auf die Streamerweiterung, einen Puffer, der vom Klassentreiber für den Minidriver zugewiesen wird, um private Informationen zu diesem Datenstrom zu speichern. Der Minidriver 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 Datenstroms.
ReceiveControlPacket
Zeiger auf die StrMiniReceiveStreamControlPacket Routine des Datenstroms.
HwClockObject
Enthält das Uhrenobjekt des Datenstroms. Weitere Informationen finden Sie unter HW_CLOCK_OBJECT.
Dma
Wenn TRUE, verwendet das Gerät DMA, um Daten für diesen Datenstrom zu übertragen.
Pio
Wenn TRUE, verwendet das Gerät programmierte E/A, um Daten für diesen Datenstrom zu übertragen. Beachten Sie, dass sowohl die mitglieder Pio als auch Dma möglicherweise TRUEsein können.
HwDeviceExtension
Zeiger auf die Geräteerweiterung des Minidrivers. Der Minidriver 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 übergibt, wenn er sich über StreamClassRegisterMinidriver-registriert. Der Klassentreiber übergibt auch Zeiger an diesen Puffer in der HwDeviceExtension Member des HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXTund PORT_CONFIGURATION_INFORMATION Strukturen, die an den Minidriver übergeben werden.
StreamHeaderMediaSpecific
Gibt die Größe in Byte der medienspezifischen Headererweiterung pro Stream an.
StreamHeaderWorkspace
Gibt die Größe des Arbeitsbereichs pro Streamheader an.
Allocator
Gibt TRUE- an, wenn der Treiber Allokatoren verwendet. Die meisten Minidriver legen diesen Wert auf FALSE-fest.
HwEventRoutine
Zeiger auf die StrMiniEvent--Routine des Datenstroms
Reserved[2]
Reserviert für die Systemverwendung. Nicht verwenden.
Bemerkungen
Diese Struktur wird vom Klassentreiber erstellt, um Informationen zu einem bestimmten Datenstrom im Minidriver zu speichern. Für jede streamspezifische Anforderung übergibt der Klassentreiber die HW_STREAM_OBJECT für den Datenstrom im StreamObject- Mitglied des Datenstromanforderungsblocks (siehe HW_STREAM_REQUEST_BLOCK).
Wenn der Klassentreiber den Datenstrom öffnet und die SRB_OPEN_STREAM Anforderung an die StrMiniReceiveDevicePack et-Routine des Minidrivers ausgibt, initialisiert der Minidriver das Streamobjekt.
Anforderungen
Anforderung | Wert |
---|---|
Header- | strmini.h (einschließlich Strmini.h) |