Freigeben über


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;

Angehörige

SizeOfThisBlock

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

Version

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

Function

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

Flags

Spezielle Kennzeichnungen, die auf einen speziellen Dienst oder eine Abweichung vom Standarddienst hinweisen sollen. Dies wird derzeit nicht verwendet.

Status

Endgültiger Status dieser Anforderung.

AVCStreamContext

Dies ist der Kontext (Handle) eines Datenstroms. Legen Sie diesen Wert auf NULL- für den AVCSTRM_OPEN-Funktionscode fest. Bei anderen Funktionscodes muss dies auf einen gültigen Wert festgelegt werden, der aus 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. Nicht verwenden.

CommandData

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

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

CommandData.StreamState

Definiert das KSSTATE Member StreamState.

CommandData.OpenStruct

Definiert das AVCSTRM_OPEN_STRUCT Member OpenStruct-.

CommandData.BufferStruct

Definiert das AVCSTRM_BUFFER_STRUCT Member BufferStruct.

_tagCommandData

Definiert das _tagCommandData Member-_tagCommandData.

Bemerkungen

Die AVC_STREAM_REQUEST_BLOCK ist die primäre Struktur, die von einem Untereinheitstreiber zum Interface 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 service übergeben.

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

Anforderungen

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

Siehe auch

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-