共用方式為


DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION回呼函式 (dispmprt.h)

DXGKDDI_OPM_GET_COPP_COMPATIBLE_INFORMATION函式會從指定的受保護輸出物件擷取與認證輸出保護通訊協定 (COPP) 相容的資訊。

語法

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

DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS 結構的指標,其中包含要從 ProtectedOutputHandle 參數中指定句柄的受保護輸出物件擷取的 COPP 相容資訊類型。 DxgkDdiOPMGetCOPPCompatibleInformation 會判斷參數是否包含來自間接建立受保護輸出對象的應用程式的有效要求。 如需詳細資訊,請參閱<備註>一節。

[out] RequestedInformation

如果 DxgkDdiOPMGetCOPPCompatibleInformation 成功傳回,則為接收受保護輸出物件 COPP 相容資訊的DXGKMDT_OPM_REQUESTED_INFORMATION結構的指標。

如果 DxgkDdiOPMGetCOPPCompatibleInformation 失敗, RequestedInformation 所指向的值會保持不變。

傳回值

DxgkDdiOPMGetCOPPCompatibleInformation 會傳回STATUS_SUCCESS或 Ntstatus.h 錯誤碼。

備註

只有在輸出具有 COPP 語意時,DirectX 圖形核心子系統才應該呼叫 DxgkDdiOPMGetCOPPCompatibleInformation

在呼叫 DxgkDdiOPMGetCOPPCompatibleInformation 時,DirectX 圖形核心子系統一律會將受保護的輸出句柄傳遞至 ProtectedOutputHandle 參數,DirectX 圖形核心子系統一律會將受保護的輸出句柄傳遞至 DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetRandomNumber 函式。

以下是一些與 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 abParameters 成員的前 4 個字節以及 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS guidInformation 成員中的 DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL 或 DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL GUID 中指定DXGKMDT_OPM_PROTECTION_TYPE_COPP_COMPATIBLE_HDCP。

  • DirectX 圖形核心子系統無法在 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS abParameters 成員的前 4 個字節以及 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS guidInformation 成員中的 DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL 或 DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL GUID 中指定DXGKMDT_OPM_PROTECTION_TYPE_HDCP。

呼叫 其 DxgkDdiOPMGetCOPPCompatibleInformation 函式時,驅動程式必須執行下列順序。

  1. 確認傳遞至 DxgkDdiOPMGetCOPPCompatibleInformationProtectedOutputHandle 參數的受保護輸出句柄具有 COPP 語意。

  2. 擷取要求的資訊。

  3. rnRandomNumber 成員 DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS指定的隨機 數複製到 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 成員中設定。

  4. 簽署 DXGKMDT_OPM_REQUESTED_INFORMATION 結構,並將簽章放在 DXGKMDT_OPM_REQUESTED_INFORMATION 的 omac 成員中。 AES 區塊加密和 OMAC-1 簽署演算法應該用來簽署結構。 如需 AES 的相關信息,請參閱 RSA 一文 網站。 如需 OMAC-1 的相關信息,請參閱 DXGKMDT_OPM_OMAC 參考頁面。

一開始,DirectX 圖形核心子系統會呼叫 DxgkDdiOPMGetCOPPCompatibleInformation 來擷取輸出的相關信息,然後呼叫 DxgkDdiOPMConfigureProtectedOutput 一或多次來設定輸出。 接著,DirectX 圖形核心子系統會呼叫 DxgkDdiOPMGetCOPPCompatibleInformation ,而不需同時呼叫 DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMGetCOPPCompatibleInformation 應設為可分頁。

規格需求

需求
目標平台 桌面
標頭 dispmprt.h (包含 Dispmprt.h)
IRQL PASSIVE_LEVEL (请参阅一节)

另請參閱

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMCreateProtectedOutput

DxgkDdiOPMGetInformation

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers

DXGKMDT_OPM_COPP_COMPATIBLE_GET_INFO_PARAMETERS

DXGKMDT_OPM_OMAC

DXGKMDT_OPM_REQUESTED_INFORMATION