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) |