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