Partager via


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)

Voir aussi

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