avc.h) (AVC_COMMAND_IRB 结构

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,否则设置为零。

AlternateOpcodesFlag

这是一个标志,指示 AlternateOpcodes 成员是否有效。 如果为 ,则设置为 1,否则设置为零。

TimeoutFlag

如果默认超时不适用于子单位,则将此设置为 1。 如果已设置,则 Timeout 成员必须设置为所需的超时 (,以 100-ns 单位) 。

RetryFlag

如果默认重试计数不适用于子单位,则将此设置为 1。 如果已设置,则必须将 重试 成员设置为所需的重试计数。

CommandType

这将指定 AvcCommandType 枚举中的值。 此成员仅在AVC_FUNCTION_GET_REQUEST期间使用。 否则将忽略它。

ResponseCode

这会指定 AvcResponseCode 枚举中的值。 此成员仅在AVC_FUNCTION_SEND_RESPONSE期间使用。 否则将忽略它。

SubunitAddr

将此设置为包含根据 AV/C 数字接口命令集通用规范修订版 3.0 第 5.3.3 节编码的所需子单元地址的非分页内存的地址。 不需要长度,因为子单元地址编码暗示了这一点。 如果 SubunitAddrFlag 为零,则忽略此参数。

AlternateOpcodes

将此设置为包含所需备用操作码列表的非分页内存的地址。 操作码列表的第一个字节是后跟的操作码计数 (等效于) 的字节数。 包含备用操作码列表的内存的总长度为 AlternateOpcodes[0]+1。 如果 AlternateOpcodesFlag 为零,则忽略此参数。

Timeout

将此设置为所需的超时值(以 100-ns 单位为单位)。 例如,默认超时值为: Timeout.QuadPart = 1000000 (100ms,以 100ns 为单位) 。 如果 TimeoutFlag 为零,则忽略此参数。

Retries

将此值设置为 avc.sys在每次 超时后在没有响应的情况下尝试重试请求的所需次数。 请注意,重试计数为零意味着请求尝试一次。 尝试在不收到响应的情况下处理命令所用的总时间是超时 * (重试数 + 1) 。 如果 RetryFlag 为零,则忽略此参数。

Opcode

将此设置为适合子单元类型) 的所需 AV/C 操作码 (。 这是必需参数。 在响应时,如果设置了 AlternateOpcodesFlag ,并且使用了其中一个备用操作码来匹配响应,则此值设置为该备用操作码。

OperandLength

将此设置为用于在操作数成员中存储操作数 字节数。 这是必需参数。 响应时,此参数设置为响应所使用的操作数列表中的字节数。

Operands[MAX_AVC_OPERAND_BYTES]

将此设置为适合子单元类型和操作码的操作数列表。 这是必需参数。 响应时,此参数包含响应的操作数列表。

NodeAddress

保留。 此成员必须为零。

Generation

保留。 此成员必须为零。

注解

此结构与 AVC_FUNCTION_COMMANDAVC_FUNCTION_GET_REQUESTAVC_FUNCTION_SEND_RESPONSE 函数代码一起使用。

要求

要求
Header avc.h (包括 Avc.h)

另请参阅

AVC_FUNCTION

AVC_FUNCTION_COMMAND

AVC_FUNCTION_GET_REQUEST

AVC_FUNCTION_SEND_RESPONSE