Partager via


structure AVC_STREAM_REQUEST_BLOCK (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. Cela n’est actuellement pas utilisé.

Status

État final de cette demande.

AVCStreamContext

Il s’agit du contexte (handle) d’un flux. Définissez cette valeur sur NULL pour le code de 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é. N’utilisez pas.

CommandData

Il s’agit d’une union de données de commande à passer à avcstrm.sys pour le service.

Drapeau Description
StreamState Spécifie l’état actuel du flux spécifié. Cela est utilisé avec les codes de fonction AVCSTRM_GET_STATE et AVCSTRM_SET_STATE.
OpenStruct Spécifie une description d’un flux à ouvrir. Ceci 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 depuis/vers un flux spécifié. Cela est utilisé avec les codes de fonction AVCSTRM_READ et AVCSTRM_WRITE.

CommandData.StreamState

Définit le membre KSSTATEStreamState.

CommandData.OpenStruct

Définit le membre AVCSTRM_OPEN_STRUCTOpenStruct.

CommandData.BufferStruct

Définit le membre AVCSTRM_BUFFER_STRUCTBufferStruct.

_tagCommandData

Définit le _tagCommandDatamembre _tagCommandData .

Remarques

Le AVC_STREAM_REQUEST_BLOCK est la structure principale utilisée par un pilote de sous-unité à interfacer avec avcstrm.sys.

Chaque requête 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 sur un membre alloué et initialisé AVC_STREAM_REQUEST_BLOCK qui décrit la requête (fonctionnalité) que le pilote de sous-unité souhaite avcstrm.sys traiter.

Exigences

Exigence Valeur
d’en-tête avcstrm.h (include 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