보호된 출력의 보고 상태
외부 이벤트는 커넥터에 적용되는 보호의 특성을 변경하거나 커넥터 유형을 수정할 수 있습니다. 디스플레이 미니포트 드라이버는 드라이버가 해당 DxgkDdiOPMGetInformation 또는 DxgkDdiOPMGetCOPPCompatibleInformation 함수에 대한 호출을 받을 때마다 OPM 애플리케이션에 이러한 이벤트를 보고해야 합니다. 디스플레이 미니포트 드라이버는 이벤트가 발생한 후 DxgkDdiOPMGetInformation 또는 DxgkDdiOPMGetCOPPCompatibleInformation에 대한 다음 호출에서만 DXGKMDT_OPM_STATUS 열거형에서 지정된 상태 플래그를 반환하여 다음 외부 이벤트를 보고해야 합니다.
연결이 제대로 작동
컴퓨터와 디스플레이 디바이스 간의 연결이 제대로 작동하는 경우 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 구조체의 ulStatusFlags 멤버에서 DXGKMDT_OPM_STATUS_NORMAL 상태 플래그를 설정해야 합니다.
연결 무결성
컴퓨터와 디스플레이 디바이스의 연결이 끊어지면 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 구조체의 ulStatusFlags 멤버에서 DXGKMDT_OPM_STATUS_LINK_LOST 상태 플래그를 설정해야 합니다.
커넥터 재구성
최종 사용자가 물리적 커넥터의 구성을 변경하도록 하는 경우 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 구조체의 ulStatusFlags 멤버에서 DXGKMDT_OPM_STATUS_RENEGOTIATION_REQUIRED 상태 플래그를 설정해야 합니다.
변조
그래픽 어댑터 또는 어댑터의 디스플레이 미니포트 드라이버가 변조된 경우 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 구조체의 ulStatusFlags 멤버에서 DXGKMDT_OPM_STATUS_TAMPERING_DETECTED 상태 플래그를 설정해야 합니다.
해지된 HDCP 디바이스
해지된 HDCP(High-bandwidth Digital Content Protection) 디바이스가 커넥터에 직접 또는 간접적으로 연결되어 있고 HDCP를 사용하는 경우 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STANDARD_INFORMATION 또는 DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT 구조체의 ulStatusFlags 멤버에서 DXGKMDT_OPM_STATUS_REVOKED_HDCP_DEVICE_ATTACHED 상태 플래그를 설정해야 합니다. HDCP를 사용하도록 설정하지 않은 경우 드라이버는 이 상태 플래그를 설정할 필요가 없습니다. 드라이버는 DxgkDdiOPMGetInformation 함수에 대한 호출에서만 이 상태 값을 설정하여 HDCP를 사용할 수 있는지 확인합니다.
표시 미니포트 드라이버는 DXGKMDT_OPM_REQUESTED_INFORMATION 구조체의 abRequestedInformation 멤버에서 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 구조체에 대한 포인터를 반환합니다. DXGKMDT_OPM_REQUESTED_INFORMATION 대한 포인터는 DxgkDdiOPMGetInformation 또는 DxgkDdiOPMGetCOPPCompatibleInformation의 RequestedInformation 매개 변수를 통해 반환됩니다.
예를 들어 두 개의 미디어 재생 애플리케이션인 A와 B를 고려합니다. 각 애플리케이션은 OPM을 통해 컴퓨터를 디스플레이 모니터에 연결하는 커넥터의 HDCP 보호 수준을 제어합니다. 각 애플리케이션은 고유한 보호된 출력을 제어합니다. 커넥터가 분리되면 다음에 애플리케이션이 DxgkDdiOPMGetInformation 또는 DxgkDdiOPMGetCOPPCompatibleInformation 요청을 해당 보호된 출력에 시작할 때 디스플레이 미니포트 드라이버는 DXGKMDT_OPM_STATUS_LINK_LOST 상태 플래그를 반환해야 합니다.
애플리케이션 A가 보호된 출력에서 DxgkDdiOPMGetInformation 또는 DxgkDdiOPMGetCOPPCompatibleInformation 에 대한 호출을 처음 시작하는 것이라고 가정합니다. 그런 다음 애플리케이션 A는 DXGKMDT_OPM_STATUS_LINK_LOST 플래그를 수신하고 그에 따라 작동합니다. 애플리케이션 A가 후속 DxgkDdiOPMGetInformation 또는 DxgkDdiOPMGetCOPPCompatibleInformation 호출을 시작하는 경우 커넥터가 다시 분리되지 않는 한 DXGKMDT_OPM_STATUS_LINK_LOST 플래그를 수신하지 않아야 합니다. 애플리케이션 B가 보호된 출력에서 DxgkDdiOPMGetInformation 또는 DxgkDdiOPMGetCOPPCompatibleInformation 에 대한 호출을 시작하면 DXGKMDT_OPM_STATUS_LINK_LOST 플래그를 수신하고 그에 따라 작동합니다. 다시 말하지만, 애플리케이션 B는 커넥터가 다시 분리될 때까지 DXGKMDT_OPM_STATUS_LINK_LOST 플래그를 다시 수신해서는 안 됩니다.