AVC_STREAM_REQUEST_BLOCK-Struktur (avcstrm.h)

Die AVC_STREAM_REQUEST_BLOCK-Struktur beschreibt eine AV/C-Streaminganforderung, die von avcstrm.sysverarbeitet werden soll.

Syntax

typedef struct _AVC_STREAM_REQUEST_BLOCK {
  ULONG            SizeOfThisBlock;
  ULONG            Version;
  AVCSTRM_FUNCTION Function;
  ULONG            Flags;
  NTSTATUS         Status;
  PVOID            AVCStreamContext;
  PVOID            Context1;
  PVOID            Context2;
  PVOID            Context3;
  PVOID            Context4;
  ULONG            Reserved[4];
  union {
    KSSTATE               StreamState;
    AVCSTRM_OPEN_STRUCT   OpenStruct;
    AVCSTRM_BUFFER_STRUCT BufferStruct;
  } CommandData;
  _tagCommandData  _tagCommandData;
} AVC_STREAM_REQUEST_BLOCK, *PAVC_STREAM_REQUEST_BLOCK;

Member

SizeOfThisBlock

Gibt die Größe des Anforderungsblocks in Bytes an. Legen Sie diesen Wert nicht direkt fest. Verwenden Sie stattdessen das Makro INIT_AVCSTRM_HEADER .

Version

Gibt die Version von avcstrm.sys Gerätetreiberschnittstelle (Device Driver Interface, DDI) an, um eine Anforderung zu verarbeiten. Legen Sie diesen Wert nicht direkt fest. Verwenden Sie stattdessen das Makro INIT_AVCSTRM_HEADER .

Function

Gibt den Anforderungscode (Funktionscode) avcstrm.sys Diensten an. Dies muss ein Wert aus der AVCSTRM_FUNCTION-Enumeration sein. Legen Sie diesen Wert nicht direkt fest. Verwenden Sie stattdessen das Makro INIT_AVCSTRM_HEADER .

Flags

Spezielle Flags, um einen speziellen Dienst oder eine Abweichung vom Standarddienst anzuzeigen. Dies wird derzeit nicht verwendet.

Status

Endgültige status dieser Anforderung.

AVCStreamContext

Dies ist der Kontext (Handle) eines Datenstroms. Legen Sie dies für den AVCSTRM_OPEN Funktionscode auf NULL fest. Bei anderen Funktionscodes muss dies auf einen gültigen Wert festgelegt werden, der von einem früheren Aufruf von AVCSTRM_OPEN abgerufen wurde.

Context1

Die Kontextzeiger des Clients.

Context2

Die Kontextzeiger des Clients.

Context3

Die Kontextzeiger des Clients.

Context4

Die Kontextzeiger des Clients.

Reserved[4]

Reserviert. Darf nicht verwendet werden.

CommandData

Dies ist eine Vereinigung von Befehlsdaten, die an avcstrm.sys für den Dienst übergeben werden sollen.

Flag Beschreibung
StreamState Gibt den aktuellen Status des angegebenen Datenstroms an. Dies wird mit den Funktionscodes AVCSTRM_GET_STATE und AVCSTRM_SET_STATE verwendet.
OpenStruct Gibt eine Beschreibung eines zu öffnenden Streams an. Dies wird mit dem AVCSTRM_OPEN Funktionscode verwendet.
BufferStruct Gibt eine Beschreibung eines Puffers an, der zum Lesen oder Schreiben von Daten aus einem angegebenen Stream verwendet wird. Dies wird mit den Funktionscodes AVCSTRM_READ und AVCSTRM_WRITE verwendet.

CommandData.StreamState

Definiert das KSSTATE-ElementStreamState.

CommandData.OpenStruct

Definiert das AVCSTRM_OPEN_STRUCT Element OpenStruct.

CommandData.BufferStruct

Definiert die AVCSTRM_BUFFER_STRUCTMemberpufferstruktur.

_tagCommandData

Definiert die _tagCommandData member _tagCommandData.

Hinweise

Die AVC_STREAM_REQUEST_BLOCK ist die primäre Struktur, die von einem Untereinheitstreiber für die Schnittstelle mit avcstrm.sysverwendet wird.

Jede AV/C-Streamanforderung wird durch diese Struktur beschrieben. Diese Struktur wird als Teil des IRP an avcstrm.sys für den Dienst übergeben.

Um diese Struktur zu verwenden, legen Sie den Irp-Parameters-Others.Argument1-Member>> des IRP auf eine zugeordnete und initialisierte AVC_STREAM_REQUEST_BLOCK fest, die die Anforderung (Funktionalität) beschreibt, die der Untereinheitstreiber avcstrm.sys zu bedienen möchte.

Anforderungen

Anforderung Wert
Header avcstrm.h (include Avcstrm.h)

Weitere Informationen

AVCSTRM_ABORT_STREAMING

AVCSTRM_BUFFER_STRUCT

AVCSTRM_CLOSE

AVCSTRM_FUNCTION

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_OPEN_STRUCT

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE

KSSTATE