Compartir a través de


estructura AVC_COMMAND_IRB (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 subunitAddr miembro 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. Se establece en uno si es , de lo contrario, se establece 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 reintentos miembro debe establecerse en el recuento 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 la memoria no paginada que contiene la dirección de subbúsqueda 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úsito 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 (equivalentes 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 = 1000000 (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 subbúsito). Este es un parámetro obligatorio. En respuesta, si se estableció alternateOpcodesFlag y se usó uno de los códigos de operación alternativos para que coincidan con la respuesta, se establece en ese código de operación alternativo.

OperandLength

Establézcalo en el número de bytes que se usan para almacenar los operandos en el miembro de operandos. Este 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 subunit y opcode. Este es un parámetro obligatorio. En 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.

Observaciones

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
encabezado de avc.h (include Avc.h)

Consulte también

AVC_FUNCTION

AVC_FUNCTION_COMMAND

AVC_FUNCTION_GET_REQUEST

AVC_FUNCTION_SEND_RESPONSE