AVC_STREAM_REQUEST_BLOCK structure (avcstrm.h)
La structure AVC_STREAM_REQUEST_BLOCK décrit une demande de streaming AV/C à traiter par avcstrm.sys.
Syntaxe
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;
Membres
SizeOfThisBlock
Spécifie la taille du bloc de requête en octets. Ne définissez pas cette valeur directement. Utilisez plutôt la macro INIT_AVCSTRM_HEADER .
Version
Spécifie la version de avcstrm.sys'interface de pilote de périphérique (DDI) pour traiter une demande. Ne définissez pas cette valeur directement. Utilisez plutôt la macro INIT_AVCSTRM_HEADER .
Function
Indique la requête (code de fonction) avcstrm.sys services. Il doit s’agir d’une valeur de l’énumération AVCSTRM_FUNCTION . Ne définissez pas cette valeur directement. Utilisez plutôt la macro INIT_AVCSTRM_HEADER .
Flags
Indicateurs spéciaux pour indiquer un service spécial ou un écart par rapport au service standard. Il n’est actuellement pas utilisé.
Status
Status finale de cette demande.
AVCStreamContext
Il s’agit du contexte (handle) d’un flux. Définissez cette valeur sur NULL pour le code de la fonction AVCSTRM_OPEN . Pour les autres codes de fonction, cette valeur doit être définie sur une valeur valide récupérée à partir d’un appel antérieur à AVCSTRM_OPEN.
Context1
Pointeurs de contexte du client.
Context2
Pointeurs de contexte du client.
Context3
Pointeurs de contexte du client.
Context4
Pointeurs de contexte du client.
Reserved[4]
Réservé. Ne pas utiliser.
CommandData
Il s’agit d’une union de données de commande à transmettre à avcstrm.sys pour le service.
Indicateur | Description |
---|---|
StreamState | Spécifie l’état actuel du flux spécifié. Il est utilisé avec les codes de fonction AVCSTRM_GET_STATE et AVCSTRM_SET_STATE . |
OpenStruct | Spécifie une description d’un flux à ouvrir. Il est utilisé avec le code de la fonction AVCSTRM_OPEN . |
BufferStruct | Spécifie une description d’une mémoire tampon utilisée pour lire ou écrire des données à partir d’un flux spécifié. Il est utilisé avec les codes de fonction AVCSTRM_READ et AVCSTRM_WRITE . |
CommandData.StreamState
Définit le membre KSSTATEStreamState.
CommandData.OpenStruct
Définit le AVCSTRM_OPEN_STRUCT membre OpenStruct.
CommandData.BufferStruct
Définit le AVCSTRM_BUFFER_STRUCT membre BufferStruct.
_tagCommandData
Définit le _tagCommandData membre _tagCommandData.
Remarques
Le AVC_STREAM_REQUEST_BLOCK est la structure principale utilisée par un pilote de sous-unité pour interfacer avec avcstrm.sys.
Chaque demande de flux AV/C est décrite par cette structure. Cette structure est passée dans le cadre de l’IRP à avcstrm.sys pour le service..
Pour utiliser cette structure, définissez le membre Irp-Parameters-Others.Argument1> de l’IRP sur un AVC_STREAM_REQUEST_BLOCK alloué et initialisé qui décrit la requête (fonctionnalité) que le pilote de sous-unité> souhaite avcstrm.sys traiter.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | avcstrm.h (inclure Avcstrm.h) |