AVC_COMMAND_IRB 구조체(avc.h)
AVC_COMMAND_IRB 구조체는 AV/C 명령 및 응답 쌍을 포함하는 구조를 정의합니다.
구문
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;
멤버
Common
AVC_FUNCTION 열거형에서 AVC_FUNCTION_COMMAND 열거자로 설정해야 합니다.
SubunitAddrFlag
SubunitAddr 멤버가 주소를 지정하는지 여부를 나타내는 플래그입니다. 이 경우 1로 설정하고, 그렇지 않으면 0으로 설정합니다.
AlternateOpcodesFlag
AlternateOpcodes 멤버가 유효한지 여부를 나타내는 플래그입니다. 이 경우 1로 설정하고, 그렇지 않으면 0으로 설정합니다.
TimeoutFlag
기본 제한 시간이 하위 단위에 적합하지 않은 경우 이를 1로 설정합니다. 이 설정이 설정되면 시간 제한 멤버를 원하는 시간 제한(100-ns 단위)으로 설정해야 합니다.
RetryFlag
기본 재시도 횟수가 하위 단위에 적합하지 않은 경우 이를 1로 설정합니다. 이 값을 설정하면 재시 도 멤버를 원하는 재시도 횟수로 설정해야 합니다.
CommandType
AvcCommandType 열거형의 값을 지정합니다. 이 멤버는 AVC_FUNCTION_GET_REQUEST 동안에만 사용됩니다. 그렇지 않으면 무시됩니다.
ResponseCode
AvcResponseCode 열거형의 값을 지정합니다. 이 멤버는 AVC_FUNCTION_SEND_RESPONSE 동안에만 사용됩니다. 그렇지 않으면 무시됩니다.
SubunitAddr
AV/C 디지털 인터페이스 명령 집합 일반 사양인 Rev 3.0의 섹션 5.3.3에 따라 인코딩된 원하는 하위 단위 주소를 포함하는 페이지가 없는 메모리의 주소로 설정합니다. 하위 단위 주소 인코딩이 이를 의미하기 때문에 길이가 필요하지 않습니다. SubunitAddrFlag가 0이면 이 매개 변수는 무시됩니다.
AlternateOpcodes
원하는 대체 opcode 목록을 포함하는 페이지가 지정하지 않은 메모리의 주소로 설정합니다. opcode 목록의 첫 번째 바이트는 따라야 할 opcode의 수입니다(바이트 수와 동일). 대체 opcode 목록을 포함하는 메모리의 총 길이는 AlternateOpcodes[0]+1입니다. AlternateOpcodesFlag가 0인 경우 이 매개 변수는 무시됩니다.
Timeout
100-ns 단위로 원하는 시간 제한으로 설정합니다. 예를 들어 기본 제한 시간 값은 Timeout.QuadPart = 1000000(100ns 단위의 100ms)입니다. TimeoutFlag가 0이면 이 매개 변수가 무시됩니다.
Retries
avc.sys응답 없이 시간 초과 후 요청을 다시 시도해야 하는 횟수로 설정합니다. 재시도 횟수가 0이면 요청이 한 번 시도됩니다. 응답을 받지 않고 명령을 처리하는 데 걸린 총 시간은 시간 제한 * (다시 시도 + 1)입니다. RetryFlag가 0이면 이 매개 변수가 무시됩니다.
Opcode
이를 원하는 AV/C opcode(하위 단위 형식에 적합)로 설정합니다. 필수 매개 변수입니다. 응답에서 AlternateOpcodesFlag 가 설정되었고 대체 opcode 중 하나가 응답과 일치하는 데 사용된 경우 해당 대체 opcode로 설정됩니다.
OperandLength
피연 산자를 피 연산자 멤버에 저장하는 데 사용되는 바이트 수로 설정합니다. 필수 매개 변수입니다. 응답 시 이 매개 변수는 응답에서 사용하는 피연산자 목록의 바이트 수로 설정됩니다.
Operands[MAX_AVC_OPERAND_BYTES]
하위 단위 형식 및 opcode에 적합한 피연산자 목록으로 설정합니다. 필수 매개 변수입니다. 응답에서 이 매개 변수는 응답의 피연산자 목록을 포함합니다.
NodeAddress
예약되어 있습니다. 이 멤버는 0이어야 합니다.
Generation
예약되어 있습니다. 이 멤버는 0이어야 합니다.
설명
이 구조체는 AVC_FUNCTION_COMMAND, AVC_FUNCTION_GET_REQUEST 및 AVC_FUNCTION_SEND_RESPONSE 함수 코드와 함께 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | avc.h(Avc.h 포함) |