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 그래픽 커 nel 하위 시스템은 항상 DxgkDdiOPMSetSigningKeyAndSequenceNumbers 및 DxgkDdiOPMGetRandomNumber 함수에 보호된 출력 핸들을 전달합니다.
다음은 DxgkDdiOPMGetCOPPCompatibleInformation 관련되고 DxgkDdiOPMGetInformation 함수와 관련이 없는 몇 가지 사실입니다.
DirectX 그래픽 커널 하위 시스템은 COPP 의미 체계를 사용하여 보호된 출력에 핸들을 전달할 수 있습니다.
매개 변수 매개 변수가 가리키는 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 함수가 호출될 때 다음 시퀀스를 수행해야 합니다.
DxgkDdiOPMGetCOPPCompatibleInformationProtectedOutputHandle 매개 변수에 전달된 보호된 출력 핸들에 COPP 의미 체계가 있는지 확인합니다.
요청된 정보를 검색합니다.
DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERSrnRandomNumber 멤버가 지정하는 난수를 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 연구소 웹 사이트를 참조하세요. OMAC-1에 대한 자세한 내용은 DXGKMDT_OPM_OMAC 참조 페이지를 참조하세요.
처음에 DirectX 그래픽 커널 하위 시스템은 DxgkDdiOPMGetCOPPCompatibleInformation 호출하여 출력에 대한 정보를 검색한 다음 DxgkDdiOPMConfigureProtectedOutput 한 번 이상 호출하여 출력을 구성합니다. 그 후 DirectX 그래픽 커널 하위 시스템은 DxgkDdiOPMConfigureProtectedOutput호출하지 않고 DxgkDdiOPMGetCOPPCompatibleInformation 호출합니다.
DxgkDdiOPMGetCOPPCompatibleInformation 페이징 가능해야 합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | dispmprt.h(Dispmprt.h 포함) |
IRQL | PASSIVE_LEVEL(설명 섹션 참조) |
참고 항목
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMCreateProtectedOutput
DxgkDdiOPMSetSigningKeyAndSequenceNumbers