DXGKMDT_OPM_GET_INFO_PARAMETERS 结构 (d3dkmdt.h)

DXGKMDT_OPM_GET_INFO_PARAMETERS 结构包含的参数用于在调用 DxgkDdiOPMGetInformation 函数时从受保护的输出对象检索信息。

语法

typedef struct _DXGKMDT_OPM_GET_INFO_PARAMETERS {
  DXGKMDT_OPM_OMAC          omac;
  DXGKMDT_OPM_RANDOM_NUMBER rnRandomNumber;
  GUID                      guidInformation;
  ULONG                     ulSequenceNumber;
  ULONG                     cbParametersSize;
  BYTE                      abParameters[DXGKMDT_OPM_GET_INFORMATION_PARAMETERS_SIZE];
} DXGKMDT_OPM_GET_INFO_PARAMETERS, *PDXGKMDT_OPM_GET_INFO_PARAMETERS;

成员

omac

一种 DXGKMDT_OPM_OMAC 结构,其中包含一个单键密码块链接 (CBC) 模式消息身份验证代码, (OMAC) 消息真实性。 有关 OMAC 的详细信息,请参阅 OMAC-1 算法。 OPM 和 COPP 使用的 OMAC-1 参数包括:

E = AES (高级加密标准)

t = 128 位

K = 调用 DxgkDdiOPMSetSigningKeyAndSequenceNumbers 时显示微型端口驱动程序收到的 128 位密钥。

n = 128 位

有关 AES 的信息,请参阅 RSA 实验室 网站。

rnRandomNumber

包含受保护输出对象的 128 位加密安全随机数的 DXGKMDT_OPM_RANDOM_NUMBER 结构。 此随机数由应用程序生成,并在调用驱动程序的 DxgkDdiOPMGetInformation 函数时提供给 rnRandomNumber 中的显示微型端口驱动程序。

guidInformation

用于检索信息的 GUID。 guidInformation 可以设置为以下 GUID 之一:

  • DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION
  • DXGKMDT_OPM_GET_CONNECTOR_TYPE
  • DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES
  • DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL
  • DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL
  • DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT
  • DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE
  • DXGKMDT_OPM_GET_DVI_CHARACTERISTICS。 在 Windows 7 及更高版本中受支持。
  • DXGKMDT_OPM_GET_OUTPUT_ID。 在 Windows 7 及更高版本中受支持。

ulSequenceNumber

序列号。 对于 DxgkDdiOPMGetInformation 函数来处理信息请求, ulSequenceNumber 中的值必须与显示微型端口驱动程序存储的当前 4 字节序列号匹配。 如果未检测到匹配项, DxgkDdiOPMGetInformation 将返回错误代码。 如果检测到匹配项, DxgkDdiOPMGetInformation 在返回之前递增存储的序列号。 初始 4 字节序列号是 DxgkDdiOPMSetSigningKeyAndSequenceNumbers 函数的 EncryptedParameters 参数所指向的 256 字节数组的一部分。

cbParametersSize

abParameters 成员指向的有效数据的大小(以字节为单位)。

abParameters[DXGKMDT_OPM_GET_INFORMATION_PARAMETERS_SIZE]

一个 4056 字节数组,其中包含由 guidInformation 成员标识的信息请求附带的数据。

DXGKMDT_OPM_GET_CONNECTOR_TYPE、DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES、DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT、DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE、DXGKMDT_OPM_GET_DVI_CHARACTERISTICS、DXGKMDT_OPM_GET_OUTPUT_ID和DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION请求不需要任何数据。

DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL和DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL请求需要标识为其请求保护级别的保护类型的数据。 因此,这些请求要求 abParameters 数组中的前 4 个字节包含保护类型。

注解

DXGKMDT_OPM_GET_INFO_PARAMETERS中 omac 成员签名后的所有数据;签名是 OMAC,存储在 omac 成员中。 使用 OMAC-1 算法对数据进行签名。

DXGKMDT_OPM_GET_INFO_PARAMETERS 不用于 COPP 仿真;相反, DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS 结构用于 COPP。

要求

要求
最低受支持的客户端 Windows Vista
标头 d3dkmdt.h

另请参阅

DXGKMDT_OPM_OMAC

DXGKMDT_OPM_RANDOM_NUMBER

DxgkDdiOPMGetInformation

DxgkDdiOPMSetSigningKeyAndSequenceNumbers