Compartir a través de


AVC_COMMAND_IRB estructura (avc.h)

La estructura AVC_COMMAND_IRB define una estructura que contiene un par de comandos y respuestas de AV/C.

Sintaxis

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;

Miembros

Common

Debe establecerse en el enumerador AVC_FUNCTION_COMMAND de la enumeración AVC_FUNCTION.

SubunitAddrFlag

Se trata de una marca que indica si el miembro SubunitAddr especifica una dirección. Establezca en uno si lo hace; de lo contrario, establezca en cero.

AlternateOpcodesFlag

Se trata de una marca que indica si el miembro AlternateOpcodes es válido. Establézcalo en uno si es; de lo contrario, establezca en cero.

TimeoutFlag

Establézcalo en uno si el tiempo de espera predeterminado no es adecuado para la subunidad. Si se establece, el miembro Timeout debe establecerse en el tiempo de espera deseado (en unidades de 100-ns).

RetryFlag

Establézcalo en uno si el recuento de reintentos predeterminado no es adecuado para la subunidad. Si se establece, el miembro Retries debe establecerse en el número de reintentos deseado.

CommandType

Especifica un valor de la enumeración AvcCommandType. Este miembro solo se usa durante AVC_FUNCTION_GET_REQUEST. De lo contrario, se omite.

ResponseCode

Especifica un valor de la enumeración AvcResponseCode. Este miembro solo se usa durante AVC_FUNCTION_SEND_RESPONSE. De lo contrario, se omite.

SubunitAddr

Establézcalo en la dirección de memoria no paginada que contiene la dirección de subunidad deseada codificada según la sección 5.3.3 de la especificación general del conjunto de comandos de interfaz digital de AV/C, Rev 3.0. No es necesaria ninguna longitud porque la codificación de direcciones de subbúnit implica esto. Este parámetro se omite si SubunitAddrFlag es cero.

AlternateOpcodes

Establézcalo en la dirección de la memoria no paginada que contiene la lista de códigos de operación alternativos deseada. El primer byte de la lista de códigos de operación es el recuento de códigos de operación que se van a seguir (equivalente al número de bytes). La longitud total de la memoria que contiene la lista de códigos de operación alternativo es AlternateOpcodes[0]+1. Este parámetro se omite si AlternateOpcodesFlag es cero.

Timeout

Establézcalo en el tiempo de espera deseado en unidades de 100-ns. Por ejemplo, el valor de tiempo de espera predeterminado es: Timeout.QuadPart = 10000000 (100 ms en unidades de 100ns). Este parámetro se omite si TimeoutFlag es cero.

Retries

Establézcalo en el número deseado de veces avc.sys debe intentar reintentar las solicitudes después de cada tiempo de espera sin una respuesta. Tenga en cuenta que un recuento de reintentos de cero significa que la solicitud se intenta una vez. La cantidad total de tiempo dedicado a procesar un comando sin obtener una respuesta es Timeout * (Reintentos + 1). Este parámetro se omite si RetryFlag es cero.

Opcode

Establézcalo en el código de operación de AV/C deseado (adecuado para el tipo de subunidad). Es un parámetro obligatorio. En la respuesta, si se estableció AlternateOpcodesFlag y se usó uno de los códigos de operación alternativos para coincidir con la respuesta, se establece en ese código de operación alternativo.

OperandLength

Establézcalo en el número de bytes usados para almacenar los operandos en el miembro Operandos . Es un parámetro obligatorio. En respuesta, este parámetro se establece en el número de bytes de la lista de operandos que usa la respuesta.

Operands[MAX_AVC_OPERAND_BYTES]

Establézcalo en la lista de operandos adecuada para el tipo de subbúsco y el código de operación. Es un parámetro obligatorio. En la respuesta, este parámetro contiene la lista de operandos de la respuesta.

NodeAddress

Reservado. Este miembro debe ser cero.

Generation

Reservado. Este miembro debe ser cero.

Comentarios

Esta estructura se usa con los códigos de función AVC_FUNCTION_COMMAND, AVC_FUNCTION_GET_REQUEST y AVC_FUNCTION_SEND_RESPONSE .

Requisitos

Requisito Valor
Header avc.h (incluir Avc.h)

Consulte también

AVC_FUNCTION

AVC_FUNCTION_COMMAND

AVC_FUNCTION_GET_REQUEST

AVC_FUNCTION_SEND_RESPONSE