DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION 콜백 함수(dispmprt.h)
DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION 함수는 지정된 보호된 출력 개체에서 COPP(Certified Output Protection Protocol)와 호환되는 정보를 검색합니다.
구문
DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION DxgkddiOpmGetCoppCompatibleInformation;
NTSTATUS DxgkddiOpmGetCoppCompatibleInformation(
[in] PVOID MiniportDeviceContext,
[in] HANDLE ProtectedOutputHandle,
[in] const DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS *Parameters,
[out] PDXGKMDT_OPM_REQUESTED_INFORMATION RequestedInformation
)
{...}
매개 변수
[in] MiniportDeviceContext
디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 이전에는 디스플레이 미니포트 드라이버의 DxgkDdiAddDevice 함수가 DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.
[in] ProtectedOutputHandle
보호된 출력 개체에 대한 핸들입니다. DxgkDdiOPMCreateProtectedOutput 함수는 보호된 출력 개체를 만들고 개체에 대한 핸들을 반환합니다. 이 핸들에 해당하는 보호된 출력 개체에는 COPP 의미 체계가 있어야 합니다.
[in] Parameters
ProtectedOutputHandle 매개 변수에 핸들이 지정된 보호된 출력 개체에서 검색할 COPP 호환 정보의 형식을 포함하는 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS 구조체에 대한 포인터입니다. DxgkDdiOPMGetCOPPCompatibleInformation 은 매개 변수에 간접적으로 보호된 출력 개체를 만든 애플리케이션의 유효한 요청이 포함되어 있는지 확인합니다. 자세한 내용은 주의 섹션을 참조하세요.
[out] RequestedInformation
DxgkDdiOPMGetCOPPCompatibleInformation이 성공적으로 반환되는 경우 보호된 출력 개체의 COPP 호환 정보를 수신하는 DXGKMDT_OPM_REQUESTED_INFORMATION 구조체에 대한 포인터입니다.
DxgkDdiOPMGetCOPPCompatibleInformation이 실패하면 RequestedInformation이 가리키는 값은 변경되지 않습니다.
반환 값
DxgkDdiOPMGetCOPPCompatibleInformation 은 STATUS_SUCCESS 또는 Ntstatus.h 오류 코드를 반환합니다.
설명
DirectX 그래픽 커널 하위 시스템은 출력에 COPP 의미 체계가 있는 경우에만 DxgkDdiOPMGetCOPPCompatibleInformation 을 호출해야 합니다.
DirectX 그래픽 커널 하위 시스템이 DxgkDdiOPMGetCOPPCompatibleInformation 호출에서 ProtectedOutputHandle 매개 변수에 보호된 출력 핸들을 전달하기 전에 DirectX 그래픽 커널 하위 시스템은 항상 보호된 출력 핸들을 DxgkDdiOPMSetSigningKeyAndSequenceNumbers 및 DxgkDdiOPMGetRandomNumber 함수에 전달합니다.
다음은 DxgkDdiOPMGetCOPPCompatibleInformation 과 관련이 있으며 DxgkDdiOPMGetInformation 함수와 관련이 없는 몇 가지 사실입니다.
DirectX 그래픽 커널 하위 시스템은 COPP 의미 체계를 통해서만 보호된 출력에 핸들을 전달할 수 있습니다.
Parameters 매개 변수가 가리키는 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS 구조체는 서명되지 않았습니다.
DirectX 그래픽 커널 하위 시스템은 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS guidInformation 멤버에 DXGKMDT_OPM_GET_ACP_AND_CGMSA_SIGNALING 및 DXGKMDT_OPM_GET_CONNECTED_HDCP_DEVICE_INFORMATION GUID를 전달할 수 있습니다.
DirectX 그래픽 커널 하위 시스템은 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS guidInformation 멤버의 DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION GUID를 전달할 수 없습니다.
DirectX 그래픽 커널 하위 시스템은 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS guidInformation 멤버의 DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL 또는 DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL GUID와 함께 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS abParameters 멤버의 처음 4바이트에서 DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP 지정할 수 있습니다.
DirectX 그래픽 커널 하위 시스템은 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS guidInformation 멤버의 DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL 또는 DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL GUID와 함께 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS abParameters 멤버의 처음 4바이트에서 DXGKMDT_OPM_PROTECTION_TYPE_HDCP 지정할 수 없습니다.
드라이버는 DxgkDdiOPMGetCOPPCompatibleInformation 함수가 호출되면 다음 시퀀스를 수행해야 합니다.
DxgkDdiOPMGetCOPPCompatibleInformation의 ProtectedOutputHandle 매개 변수에 전달된 보호된 출력 핸들에 COPP 의미 체계가 있는지 확인합니다.
요청된 정보를 검색합니다.
DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS rnRandomNumber 멤버가 지정하는 난수를 DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT , DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING 또는 DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION 구조체의 rnRandomNumber 멤버에 복사합니다. 사용되는 구조는 호출자가 요청한 정보 유형에 따라 달라집니다. 구조체는 RequestedInformation 매개 변수가 가리키는 DXGKMDT_OPM_REQUESTED_INFORMATION 구조체의 abRequestedInformation 멤버에 설정됩니다.
DXGKMDT_OPM_REQUESTED_INFORMATION 구조체에 서명하고 DXGKMDT_OPM_REQUESTED_INFORMATION omac 멤버에 서명을 배치합니다. AES 블록 암호 및 OMAC-1 서명 알고리즘을 사용하여 구조체에 서명해야 합니다. AES에 대한 자세한 내용은 RSA Labies 웹 사이트를 참조하세요. OMAC-1에 대한 자세한 내용은 DXGKMDT_OPM_OMAC 참조 페이지를 참조하세요.
처음에 DirectX 그래픽 커널 하위 시스템은 DxgkDdiOPMGetCOPPCompatibleInformation 을 호출하여 출력에 대한 정보를 검색한 다음 DxgkDdiOPMConfigureProtectedOutput 을 한 번 이상 호출하여 출력을 구성합니다. 그 후 DirectX 그래픽 커널 하위 시스템은 DxgkDdiOPMGetCOPPCompatibleInformation 도 DxgkDdiOPMConfigureProtectedOutput을 호출하지 않고 DxgkDdiOPMGetCOPPCompatibleInformation을 호출합니다.
DxgkDdiOPMGetCOPPCompatibleInformation 을 페이징 가능으로 만들어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dispmprt.h(Dispmprt.h 포함) |
IRQL | PASSIVE_LEVEL(설명 섹션 참조) |
추가 정보
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMCreateProtectedOutput
DxgkDdiOPMSetSigningKeyAndSequenceNumbers