보호된 출력에 대한 정보 검색

디스플레이 미니포트 드라이버는 그래픽 어댑터의 실제 출력 커넥터와 연결된 보호된 출력에 대한 정보를 검색하라는 요청을 받을 수 있습니다. 디스플레이 미니포트 드라이버의 DxgkDdiOPMGetInformation 함수는 정보 요청을 포함하는 Parameters 매개 변수의 DXGKMDT_OPM_GET_INFO_PARAMETERS 구조에 대한 포인터를 전달합니다. DxgkDdiOPMGetInformationRequestedInformation 매개 변수가 가리키는 DXGKMDT_OPM_REQUESTED_INFORMATION 구조에 필요한 정보를 씁니다. DXGKMDT_OPM_GET_INFO_PARAMETERS guidInformationabParameters 멤버는 정보 요청을 지정합니다. 정보 요청에 따라 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_OUTPUT_ID 또는 DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT 구조체의 멤버를 필수 정보로 채우고 DXGKMDT_OPM_REQUESTED_INFORMATIONabRequestedInformation 멤버를 해당 구조체로 가리킵니다. 드라이버가 DXGKMDT_OPM_REQUESTED_INFORMATION cbRequestedInformationSize (예: sizeof(DXGKMDT_OPM_STANDARD_INFORMATION)) 및 abRequestedInformation 멤버를 지정한 후 드라이버는 DXGKMDT_OPM_REQUESTED_INFORMATION 데이터에 대한 CBC(One-key Cipher Block Chaining) 모드 메시지 인증 코드(OMAC)를 계산해야 하며 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에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_CONNECTOR_TYPE 경우 드라이버는 커넥터 유형을 나타냅니다. 커넥터 유형을 나타내기 위해 드라이버는 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에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE 경우 드라이버는 그래픽 어댑터를 마더 보드 칩셋의 북쪽 브리지에 연결하는 버스의 유형과 구현을 식별합니다. 버스의 형식과 구현을 식별하기 위해 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION ulInformation 멤버의 DXGKMDT_OPM_BUS_TYPE_AND_IMPLEMENTATION 열거형에서 유효한 비트 OR 값 조합을 반환합니다.

  • guidInformation에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION 경우 드라이버는 보호된 출력에 대한 현재 HDCP(High-bandwidth Digital Content Protection) SRM(시스템 갱신 가능성 메시지)의 버전 번호를 식별하는 DXGKMDT_OPM_STANDARD_INFORMATIONulInformation 멤버의 값을 반환합니다. 가장 중요한 비트(비트 0~15)에는 little-endian 형식의 SRM 버전 번호가 포함됩니다. SRM 버전 번호에 대한 자세한 내용은 HDCP 사양 수정 버전 1.1을 참조하세요.

  • guidInformation에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT 경우 드라이버는 보호된 출력과 연결된 물리적 커넥터를 통과하는 신호의 형식을 설명하는 DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT 멤버의 정보를 반환합니다.

  • guidInformation에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_OUTPUT_ID 경우 드라이버는 출력 커넥터를 식별하는 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 열거형 값 중 하나를 반환합니다.