Freigeben über


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)

Siehe auch

HW_CLOCK_OBJECT