다음을 통해 공유


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_REQUESTAVC_FUNCTION_SEND_RESPONSE 함수 코드와 함께 사용됩니다.

요구 사항

요구 사항
헤더 avc.h(Avc.h 포함)

추가 정보

AVC_FUNCTION

AVC_FUNCTION_COMMAND

AVC_FUNCTION_GET_REQUEST

AVC_FUNCTION_SEND_RESPONSE