보호된 출력에 대한 COPP-Compatible 정보 검색
디스플레이 미니포트 드라이버는 그래픽 어댑터의 물리적 출력 커넥터와 연결된 보호된 출력에 대한 COPP 호환 정보를 검색하라는 요청을 받을 수 있습니다. 표시 미니포트 드라이버의 DxgkDdiOPMGetCOPPCompatibleInformation 함수는 정보 요청을 포함하는 Parameters 매개 변수의 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS 구조에 대한 포인터를 전달합니다. DxgkDdiOPMGetCOPPCompatibleInformation은 RequestedInformation 매개 변수가 가리키는 DXGKMDT_OPM_REQUESTED_INFORMATION 구조에 필요한 정보를 씁니다. DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS guidInformation 및 abParameters 멤버는 정보 요청을 지정합니다. 정보 요청에 따라 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 구조체의 멤버를 필수 정보로 채우고 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)를 계산해야 하며 이 OMAC를 DXGKMDT_OPM_REQUESTED_INFORMATION omac 멤버로 설정해야 합니다. OMAC 계산에 대한 자세한 내용은 OMAC-1 알고리즘을 참조하세요.
참고DxgkDdiOPMGetCOPPCompatibleInformation 이 반환되기 전에 표시 미니포트 드라이버는 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS ulSequenceNumber 멤버에 지정된 시퀀스 번호가 드라이버가 현재 저장한 시퀀스 번호와 일치하는지 확인해야 합니다. 그런 다음 드라이버는 저장된 시퀀스 번호를 증가시켜야 합니다.
참고 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION rnRandomNumber 멤버에서 128비트 암호화로 안전한 난수를 반환해야 합니다. 난수는 보내는 애플리케이션에 의해 생성되었으며 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS rnRandomNumber 멤버에 제공되었습니다.
드라이버는 표시된 요청에 대해 다음 정보를 반환합니다.
guidInformation 멤버에서 설정되고 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS abParameters 멤버에 정의되지 않은 DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES 드라이버는 사용 가능한 유형의 보호 메커니즘을 나타냅니다. 사용 가능한 보호 유형을 나타내기 위해 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION ulInformation 멤버의 DXGKMDT_OPM_PROTECTION_TYPE 열거형에서 유효한 비트 OR 값 조합을 반환합니다. DXGKMDT_OPM_PROTECTION_TYPE_ACP, DXGKMDT_OPM_PROTECTION_TYPE_CGMSA 및 DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP 값이 유효합니다.
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_ACP 경우 보호 수준 값은 DXGKMDT_OPM_ACP_PROTECTION_LEVEL 열거형에서 가져옵니다. 보호 유형이 DXGKMDT_OPM_PROTECTION_TYPE_CGMSA 경우 보호 수준 값은 DXGKMDT_OPM_CGMSA 열거형에서 가져옵니다. 보호 유형이 DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP 경우 보호 수준 값은 DXGKMDT_OPM_HDCP_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 값 조합을 반환합니다.
드라이버는 공개적으로 사용 가능한 사양 및 표준 커넥터 유형을 사용하는 확장 버스에서 그래픽 어댑터와 다른 하위 시스템 간의 인터페이스 신호를 사용할 수 없는 경우에만 DXGKMDT_OPM_COPP_COMPATIBLE_BUS_TYPE_INTEGRATED(0x80000000) 값을 버스 형식 값 중 하나와 결합할 수 있습니다. 메모리 버스는 이 정의에서 제외됩니다.
guidInformation에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT 드라이버는 보호된 출력과 연결된 물리적 커넥터를 통과하는 신호의 형식을 설명하는 DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT 멤버의 정보를 반환합니다.
guidInformation에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING 경우 드라이버는 보호된 출력과 연결된 물리적 커넥터를 통과하는 신호가 보호되는 방법을 설명하는 DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 멤버의 정보를 반환합니다.
guidInformation에서 설정되고 abParameters에 정의되지 않은 DXGKMDT_OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION 경우 드라이버는 HDCP(고대역폭 디지털 콘텐츠 보호) 정보를 포함하는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 멤버의 정보를 반환합니다.