DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT回呼函式 (dispmprt.h)
DxgkDdiOPMCreateProtectedOutput 函式會建立具有認證輸出保護通訊協定 (COPP) 或 OPM 語意的新受保護輸出物件。
語法
DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT DxgkddiOpmCreateProtectedOutput;
NTSTATUS DxgkddiOpmCreateProtectedOutput(
[in] PVOID MiniportDeviceContext,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
[in] DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS NewVideoOutputSemantics,
[out] PHANDLE NewProtectedOutputHandle
)
{...}
參數
[in] MiniportDeviceContext
與顯示配接器相關聯的內容區塊句柄。 先前,顯示迷你埠驅動程式的 DxgkDdiAddDevice 函式會提供此句柄給 DirectX 圖形核心子系統。
[in] VidPnTargetId
整數,可唯一識別對應至新受保護輸出物件的影片呈現目標。 每個影片呈現的目標都必須對應至一個實體監視器連接器。 如果 VidPnTargetId 對應至多個實體監視器連接器,DxgkDdiOPMCreateProtectedOutput 應該傳回STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED或STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED錯誤碼。
[in] NewVideoOutputSemantics
DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS型別值,決定新的受保護輸出是否有 COPP 或 OPM 語意。
[out] NewProtectedOutputHandle
如果 DxgkDdiOPMCreateProtectedOutput 成功傳回,則為接收新受保護輸出物件的句柄的變數指標。 DirectX 圖形核心子系統會在呼叫顯示迷你埠驅動程式的 DxgkDdiOPMGetRandomNumber中傳遞此句柄,DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation、DxgkDdiOPMGetCOPPCompatibleInformation、DxgkDdiOPMConfigureProtectedOutput和 DxgkDdiOPMDestroyProtectedOutput。
如果 DxgkDdiOPMCreateProtectedOutput 失敗,變數的值會保持不變。
傳回值
DxgkDdiOPMCreateProtectedOutput 會傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
STATUS_SUCCESS | 函式已成功建立新的受保護輸出物件。 |
STATUS_GRAPHICS_OPM_NOT_SUPPORTED | 顯示迷你埠驅動程式不支援 OPM,因為硬體廠商從未簽署 OPM 許可協定,或迷你埠驅動程式的圖形硬體不符合 OPM 規則。 |
STATUS_GRAPHICS_COPP_NOT_SUPPORTED | 顯示迷你埠驅動程式不支援 COPP,因為硬體廠商從未簽署 COPP 許可協定,或迷你埠驅動程式的圖形硬體不符合 COPP 規則。 |
STATUS_NO_MEMORY | DxgkDdiOPMCreateProtectedOutput 無法配置完成所需的記憶體。 |
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput 無法建立受保護的輸出,因為影片呈現目標處於跨越模式。 當視訊呈現目標處於跨越模式時,它會對應至多個實體監視器連接器,而每個連接器都會顯示畫面緩衝區的個別部分。 如需顯示迷你埠驅動程式如何實作跨越模式的圖表,請參閱一節。 顯示迷你埠驅動程式會通知作系統框架緩衝區對應至特定監視器的方式。 框架緩衝區的左半部會顯示在一個監視器上,另一個監視器上會顯示框架緩衝區的右半部。 |
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput 無法建立受保護的輸出,因為影片呈現目標處於劇院模式。 當影片呈現目標處於影院模式時,它會對應至兩個實體監視器連接器:一個連接器會顯示整個框架緩衝區,另一個連接器只會顯示框架緩衝區的一部分。 劇院模式也稱為鏡像模式。 如需顯示迷你埠驅動程式如何實作劇院模式的圖表,請參閱一節。 顯示迷你埠驅動程式會通知作系統框架緩衝區對應至特定監視器的方式。 整個畫面緩衝區會顯示在一個監視器上,而畫面緩衝區的一部分只會顯示在另一個監視器上。 |
此函式也可能傳回 Ntstatus.h 中定義的其他錯誤碼。
言論
下圖顯示迷你埠驅動程式通常如何實作跨越模式。
![圖表說明跨越模式](images/opm_span.png)
![說明劇院模式的圖表](images/opm_theater.png)
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | dispmprt.h (包括 Dispmprt.h) |
IRQL | PASSIVE_LEVEL (請參閱一節) |
另請參閱
DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMDestroyProtectedOutput