Partager via


structure AVC_COMMAND_IRB (avc.h)

La structure AVC_COMMAND_IRB définit une structure qui contient une paire de commandes et de réponses AV/C.

Syntaxe

typedef struct _AVC_COMMAND_IRB {
  AVC_IRB       Common;
  UCHAR         SubunitAddrFlag : 1;
  UCHAR         AlternateOpcodesFlag : 1;
  UCHAR         TimeoutFlag : 1;
  UCHAR         RetryFlag : 1;
  union {
    UCHAR CommandType;
    UCHAR ResponseCode;
  };
  PUCHAR        SubunitAddr;
  PUCHAR        AlternateOpcodes;
  LARGE_INTEGER Timeout;
  UCHAR         Retries;
  UCHAR         Opcode;
  ULONG         OperandLength;
  UCHAR         Operands[MAX_AVC_OPERAND_BYTES];
  NODE_ADDRESS  NodeAddress;
  ULONG         Generation;
} AVC_COMMAND_IRB, *PAVC_COMMAND_IRB;

Membres

Common

Cela doit être défini sur l’énumérateur AVC_FUNCTION_COMMAND à partir de l’énumération AVC_FUNCTION.

SubunitAddrFlag

Il s’agit d’un indicateur indiquant si l'SubunitAddr membre spécifie une adresse. Définissez-en une si elle le fait, sinon définie sur zéro.

AlternateOpcodesFlag

Il s’agit d’un indicateur indiquant si les AlternateOpcodes membre sont valides. Définissez-en une si elle est, sinon définie sur zéro.

TimeoutFlag

Définissez cette valeur sur une si le délai d’attente par défaut n’est pas approprié pour la sous-unité. Si cette valeur est définie, le délai d’expiration membre doit être défini sur le délai d’attente souhaité (en unités de 100 ns).

RetryFlag

Définissez cette valeur sur une si le nombre de nouvelles tentatives par défaut n’est pas approprié pour la sous-unité. Si cette valeur est définie, la nouvelles tentatives membre doit être définie sur le nombre de nouvelles tentatives souhaité.

CommandType

Cela spécifie une valeur de l’énumération AvcCommandType. Ce membre est utilisé uniquement pendant AVC_FUNCTION_GET_REQUEST. Sinon, elle est ignorée.

ResponseCode

Cela spécifie une valeur de l’énumération AvcResponseCode. Ce membre est utilisé uniquement pendant AVC_FUNCTION_SEND_RESPONSE. Sinon, elle est ignorée.

SubunitAddr

Définissez cette valeur sur l’adresse de la mémoire non paginée contenant l’adresse de sous-unité souhaitée encodée conformément à la section 5.3.3 de la spécification générale du jeu de commandes AV/C Digital Interface, Rev 3.0. Aucune longueur n’est nécessaire, car l’encodage de l’adresse de sous-unité implique cela. Ce paramètre est ignoré si SubunitAddrFlag est égal à zéro.

AlternateOpcodes

Définissez cette valeur sur l’adresse de la mémoire non paginé contenant la liste d’opcodes alternatives souhaitée. Le premier octet de la liste opcode est le nombre d’opcodes à suivre (équivalent au nombre d’octets). La longueur totale de la mémoire contenant la liste d’opcodes alternatifs est AlternateOpcodes[0]+1. Ce paramètre est ignoré si AlternateOpcodesFlag est égal à zéro.

Timeout

Définissez cette valeur sur le délai d’attente souhaité en unités de 100 ns. Par exemple, la valeur de délai d’attente par défaut est : Timeout.QuadPart = 1000000 (100 ms en 100ns unités). Ce paramètre est ignoré si TimeoutFlag est égal à zéro.

Retries

Définissez cette valeur sur le nombre de fois souhaité avc.sys devez tenter de réessayer les demandes après chaque expiration sans réponse. Notez qu’un nombre de nouvelles tentatives de zéro signifie que la requête est essayée une seule fois. Le temps total consacré à la tentative de traitement d’une commande sans obtenir de réponse est Timeout * (Nouvelles tentatives + 1). Ce paramètre est ignoré si RetryFlag est égal à zéro.

Opcode

Définissez cette valeur sur le opcode AV/C souhaité (approprié pour le type de sous-unité). Il s’agit d’un paramètre obligatoire. En réponse, si AlternateOpcodesFlag a été défini et que l’un des opcodes alternatifs a été utilisé pour correspondre à la réponse, il est défini sur cet autre opcode.

OperandLength

Définissez cette valeur sur le nombre d’octets utilisés pour stocker les opérandes dans les opérandes membre. Il s’agit d’un paramètre obligatoire. En réponse, ce paramètre est défini sur le nombre d’octets dans la liste d’opérandes utilisée par la réponse.

Operands[MAX_AVC_OPERAND_BYTES]

Définissez cette valeur sur la liste d’opérandes appropriée pour le type de sous-unité et l’opcode. Il s’agit d’un paramètre obligatoire. En réponse, ce paramètre contient la liste d’opérandes de la réponse.

NodeAddress

Réservé. Ce membre doit être égal à zéro.

Generation

Réservé. Ce membre doit être égal à zéro.

Remarques

Cette structure est utilisée avec les codes de fonction AVC_FUNCTION_COMMAND, AVC_FUNCTION_GET_REQUEST et AVC_FUNCTION_SEND_RESPONSE.

Exigences

Exigence Valeur
d’en-tête avc.h (inclure Avc.h)

Voir aussi

AVC_FUNCTION

AVC_FUNCTION_COMMAND

AVC_FUNCTION_GET_REQUEST

AVC_FUNCTION_SEND_RESPONSE