检索有关受保护输出的信息

显示微型端口驱动程序可以接收请求,以检索有关与图形适配器的物理输出连接器关联的受保护输出的信息。 显示微型端口驱动程序的 DxgkDdiOPMGetInformation 函数在包含信息请求的 Parameters 参数中传递指向DXGKMDT_OPM_GET_INFO_PARAMETERS结构的指针。 DxgkDdiOPMGetInformation 将所需信息写入 RequestedInformation 参数指向的DXGKMDT_OPM_REQUESTED_INFORMATION结构。 DXGKMDT_OPM_GET_INFO_PARAMETERS的 guidInformationabParameters 成员指定信息请求。 根据信息请求,显示微型端口驱动程序应使用所需信息填充 DXGKMDT_OPM_STANDARD_INFORMATIONDXGKMDT_OPM_OUTPUT_IDDXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT 结构的成员,并将 DXGKMDT_OPM_REQUESTED_INFORMATION 的 abRequestedInformation 成员指向该结构。 在驱动程序指定 cbRequestedInformationSize (例如, sizeof (DXGKMDT_OPM_STANDARD_INFORMATION) ) 和 DXGKMDT_OPM_REQUESTED_INFORMATION 的 abRequestedInformation 成员,驱动程序必须为 DXGKMDT_OPM_REQUESTED_INFORMATION 中的数据 (OMAC) 计算单键密码块链 (CBC) 模式消息身份验证代码,并且必须在 DXGKMDT_OPM_REQUESTED_INFORMATION 的 omac 成员中设置此 OMAC 。 有关计算 OMAC 的详细信息,请参阅 OMAC-1 算法

注意在 DxgkDdiOPMGetInformation 返回之前,显示微型端口驱动程序必须验证在 DXGKMDT_OPM_GET_INFO_PARAMETERSomac 成员中指定的 OMAC 是否正确。 驱动程序还必须验证在 DXGKMDT_OPM_GET_INFO_PARAMETERS 的 ulSequenceNumber 成员中指定的序列号是否与驱动程序当前存储的序列号匹配。 然后,驱动程序必须递增存储的序列号。

注意驱动程序必须在 DXGKMDT_OPM_STANDARD_INFORMATION、DXGKMDT_OPM_OUTPUT_ID 或 DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT 的 rnRandomNumber 成员中返回 128 位加密安全的随机数。 随机数由发送应用程序生成,并在 DXGKMDT_OPM_GET_INFO_PARAMETERS 的 rnRandomNumber 成员中提供。

驱动程序为指示的请求返回以下信息:

  • 对于 在 guidInformation 成员中设置且在 DXGKMDT_OPM_GET_INFO_PARAMETERS 结构的 abParameters 成员中未定义的DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES,驱动程序指示可用的保护机制类型。 为了指示可用的保护类型,驱动程序从 DXGKMDT_OPM_STANDARD_INFORMATION 的 ulInformation 成员中的 DXGKMDT_OPM_PROTECTION_TYPE 枚举返回有效的按位 OR 值组合。 DXGKMDT_OPM_PROTECTION_TYPE_HDCP和DXGKMDT_OPM_PROTECTION_TYPE_DPCP值有效。

  • 对于 在 guidInformation 中设置的DXGKMDT_OPM_GET_CONNECTOR_TYPE,在 abParameters 中未定义,驱动程序指示连接器类型。 为了指示连接器类型,驱动程序从 DXGKMDT_OPM_STANDARD_INFORMATION 的 ulInformation 成员中的D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY枚举返回有效的按位 OR 值组合。

  • 对于 guidInformation 中设置的DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL或DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL,以及 abParameters 中设置的保护类型,驱动程序在 DXGKMDT_OPM_STANDARD_INFORMATIONulInformation 成员中返回保护级别值。 如果保护类型为DXGKMDT_OPM_PROTECTION_TYPE_HDCP,则保护级别值来自 DXGKMDT_OPM_HDCP_PROTECTION_LEVEL 枚举。 如果保护类型DXGKMDT_OPM_PROTECTION_TYPE_DPCP,则保护级别值来自 DXGKMDT_OPM_DPCP_PROTECTION_LEVEL 枚举。

    DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL请求返回受保护输出的当前设置的保护级别。 DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL请求返回与受保护输出关联的物理连接器当前设置的保护级别。

  • 对于 在 guidInformation 中设置的DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE,在 abParameters 中未定义,驱动程序标识将图形适配器连接到母板芯片集的北桥的总线的类型和实现。 为了标识总线的类型和实现,驱动程序从 DXGKMDT_OPM_STANDARD_INFORMATION 的 ulInformation 成员中的 DXGKMDT_OPM_BUS_TYPE_AND_IMPLEMENTATION 枚举返回值的有效按位 OR 组合。

  • 对于在 guidInformation 中设置和 abParameters 中未定义的DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION,驱动程序在 DXGKMDT_OPM_STANDARD_INFORMATIONulInformation 成员中返回一个值,该值标识受保护输出的当前高带宽数字内容保护 (HDCP) 系统可续订性消息 (SRM) 的版本号。 最低有效位 (位 0 到 15) 包含小端格式的 SRM 版本号。 有关 SRM 版本号的详细信息,请参阅 HDCP 规范修订版 1.1

  • 对于 在 guidInformation 中设置的DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT,在 abParameters 中未定义,驱动程序将在 DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT 的成员中返回信息,这些信息描述如何格式化通过与受保护输出关联的物理连接器传递的信号。

  • 对于 在 guidInformation 中设置的DXGKMDT_OPM_GET_OUTPUT_ID,在 abParameters 中未定义,驱动程序将在标识输出连接器的 DXGKMDT_OPM_OUTPUT_ID 成员中返回信息。

  • 对于 在 guidInformation 成员中设置且未在 DXGKMDT_OPM_GET_INFO_PARAMETERS 结构的 abParameters 成员中定义的DXGKMDT_OPM_GET_DVI_CHARACTERISTICS,驱动程序指示数字视频接口 (DVI) 输出连接器的电气特征。 为了指示 DVI 电气特性,驱动程序从 DXGKMDT_OPM_STANDARD_INFORMATION 的 ulInformation 成员中的 DXGKDT_OPM_DVI_CHARACTERISTICS 枚举返回值之一