estrutura AVC_COMMAND_IRB (avc.h)
A estrutura AVC_COMMAND_IRB define uma estrutura que contém um par de comando e resposta AV/C.
Sintaxe
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;
Membros
Common
Isso deve ser definido como o enumerador AVC_FUNCTION_COMMAND da enumeração AVC_FUNCTION.
SubunitAddrFlag
Esse é um sinalizador que indica se o membro SubunitAddr especifica um endereço. Defina como um caso contrário, defina como zero.
AlternateOpcodesFlag
Este é um sinalizador que indica se o membro AlternateOpcodes é válido. Defina como um se estiver, caso contrário, defina como zero.
TimeoutFlag
Defina isso como um se o tempo limite padrão não for apropriado para a subunidade. Se isso for definido, o membro Timeout deverá ser definido como o tempo limite desejado (em unidades de 100 ns).
RetryFlag
Defina isso como um se a contagem de repetição padrão não for apropriada para a subunidade. Se isso for definido, o membro Retries deverá ser definido como a contagem de repetição desejada.
CommandType
Isso especifica um valor da enumeração AvcCommandType. Esse membro é usado somente durante AVC_FUNCTION_GET_REQUEST. Caso contrário, ele será ignorado.
ResponseCode
Isso especifica um valor da enumeração AvcResponseCode. Esse membro é usado somente durante AVC_FUNCTION_SEND_RESPONSE. Caso contrário, ele será ignorado.
SubunitAddr
Defina isso como o endereço de memória nãopagada que contém o endereço de subunidade desejado codificado de acordo com a Seção 5.3.3 da Especificação Geral do Conjunto de Comandos da Interface Digital AV/C, Rev 3.0. Nenhum comprimento é necessário porque a codificação de endereço de subunidade implica isso. Esse parâmetro será ignorado se SubunitAddrFlag for zero.
AlternateOpcodes
Defina isso como o endereço da memória nãopagada que contém a lista de opcode alternativa desejada. O primeiro byte da lista opcode é a contagem de opcodes a seguir (equivalente ao número de bytes). O comprimento total da memória que contém a lista opcode alternativa é AlternateOpcodes[0]+1. Esse parâmetro será ignorado se AlternateOpcodesFlag for zero.
Timeout
Defina isso como o tempo limite desejado em unidades de 100 ns. Por exemplo, o valor de tempo limite padrão é: Timeout.QuadPart = 1000000 (100ms em unidades de 100ns). Esse parâmetro será ignorado se TimeoutFlag for zero.
Retries
Defina isso como o número desejado de vezes avc.sys deve tentar repetir solicitações após cada tempo limite sem uma resposta. Observe que uma contagem de repetição de zero significa que a solicitação é tentada uma vez. O tempo total gasto ao tentar processar um comando sem obter uma resposta é Tempo Limite * (Repetições + 1). Esse parâmetro será ignorado se RetryFlag for zero.
Opcode
Defina isso como o opcode AV/C desejado (apropriado para o tipo de subunidade). Esse é um parâmetro necessário. Na resposta, se AlternateOpcodesFlag foi definido e um dos opcodes alternativos foi usado para corresponder à resposta, isso é definido como esse opcode alternativo.
OperandLength
Defina isso como o número de bytes usados para armazenar os operandos no membro Operandos . Esse é um parâmetro necessário. Na resposta, esse parâmetro é definido como o número de bytes na lista de operandos usada pela resposta.
Operands[MAX_AVC_OPERAND_BYTES]
Defina isso como a lista de operandos apropriada para o tipo de subunidade e opcode. Esse é um parâmetro necessário. Na resposta, esse parâmetro contém a lista de operandos da resposta.
NodeAddress
Reservado. Esse membro deve ser zero.
Generation
Reservado. Esse membro deve ser zero.
Comentários
Essa estrutura é usada com os códigos de função AVC_FUNCTION_COMMAND, AVC_FUNCTION_GET_REQUEST e AVC_FUNCTION_SEND_RESPONSE .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | avc.h (inclua Avc.h) |