struttura AVC_COMMAND_IRB (avc.h)

La struttura AVC_COMMAND_IRB definisce una struttura che contiene una coppia di comandi e risposte AV/C.

Sintassi

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;

Members

Common

Deve essere impostato sull'enumeratore AVC_FUNCTION_COMMAND dall'enumerazione AVC_FUNCTION.

SubunitAddrFlag

Si tratta di un flag che indica se il membro SubunitAddr specifica un indirizzo. Impostare su uno se lo fa; in caso contrario, impostare su zero.

AlternateOpcodesFlag

Si tratta di un flag che indica se il membro AlternateOpcodes è valido. Impostare su uno se è, altrimenti impostare su zero.

TimeoutFlag

Impostare questo valore su uno se il timeout predefinito non è appropriato per la subunit. Se questa impostazione è impostata, il membro Timeout deve essere impostato sul timeout desiderato (in 100-ns unità).

RetryFlag

Impostarlo su uno se il numero di tentativi predefinito non è appropriato per la subunit. Se questa impostazione è impostata, il membro Retries deve essere impostato sul numero di tentativi desiderato.

CommandType

Specifica un valore dell'enumerazione AvcCommandType. Questo membro viene utilizzato solo durante AVC_FUNCTION_GET_REQUEST. Viene ignorato in caso contrario.

ResponseCode

Specifica un valore dell'enumerazione AvcResponseCode. Questo membro viene utilizzato solo durante la AVC_FUNCTION_SEND_RESPONSE. Viene ignorato in caso contrario.

SubunitAddr

Impostare questo valore sull'indirizzo della memoria non di paging contenente l'indirizzo di subunit desiderato codificato in base alla sezione 5.3.3 del set di comandi dell'interfaccia digitale AV/C Specifica generale, Rev 3.0. Non è necessaria alcuna lunghezza perché la codifica dell'indirizzo subunit implica questo. Questo parametro viene ignorato se SubunitAddrFlag è zero.

AlternateOpcodes

Impostarlo sull'indirizzo della memoria non di paging contenente l'elenco opcode alternativo desiderato. Il primo byte dell'elenco opcode è il numero di opcode da seguire (equivalente al numero di byte). La lunghezza totale della memoria contenente l'elenco opcode alternativo è AlternateOpcodes[0]+1. Questo parametro viene ignorato se AlternateOpcodesFlag è zero.

Timeout

Impostare questo valore sul timeout desiderato in 100-ns unità. Ad esempio, il valore di timeout predefinito è Timeout.QuadPart = 1000000 (100 ms in 100 unità). Questo parametro viene ignorato se TimeoutFlag è zero.

Retries

Impostare questo valore sul numero di volte desiderato avc.sys deve tentare di ripetere le richieste dopo ogni timeout senza risposta. Si noti che un numero di tentativi pari a zero indica che la richiesta viene tentata una sola volta. La quantità totale di tempo impiegato per l'elaborazione di un comando senza ottenere una risposta è Timeout * (tentativi + 1). Questo parametro viene ignorato se RetryFlag è zero.

Opcode

Impostare questa opzione sul codice operativo AV/C desiderato (appropriato per il tipo di subunit). Parametro obbligatorio. In risposta, se AlternateOpcodesFlag è stato impostato e uno dei codici opcode alternativi è stato usato per trovare la corrispondenza con la risposta, questo valore viene impostato su tale codice operativo alternativo.

OperandLength

Impostare questo valore sul numero di byte utilizzati per archiviare gli operandi nel membro Operandi . Parametro obbligatorio. In risposta, questo parametro viene impostato sul numero di byte nell'elenco di operandi utilizzato dalla risposta.

Operands[MAX_AVC_OPERAND_BYTES]

Impostarlo sull'elenco di operandi appropriato per il tipo di subunit e il codice operativo. Parametro obbligatorio. In risposta, questo parametro contiene l'elenco operando della risposta.

NodeAddress

Riservato. Questo membro deve essere zero.

Generation

Riservato. Questo membro deve essere zero.

Commenti

Questa struttura viene usata con i codici di funzione AVC_FUNCTION_COMMAND, AVC_FUNCTION_GET_REQUEST e AVC_FUNCTION_SEND_RESPONSE .

Requisiti

Requisito Valore
Intestazione avc.h (include Avc.h)

Vedi anche

AVC_FUNCTION

AVC_FUNCTION_COMMAND

AVC_FUNCTION_GET_REQUEST

AVC_FUNCTION_SEND_RESPONSE