報告受保護輸出的狀態
外來事件可以改變套用至連接器的保護本質,甚至修改連接器的類型。 每當驅動程式收到 其 DxgkDdiOPMGetInformation 或 DxgkDdiOPMGetCOPPCompatibleInformation 函式的呼叫時,顯示迷你埠驅動程式必須將這些事件回報給 OPM 應用程式。 顯示迷你埠驅動程式必須藉由從 DXGKMDT_OPM_STATUS 列舉傳回指定的狀態旗標,只在發生事件之後呼叫 DxgkDdiOPMGetInformation 或 DxgkDdiOPMGetCOPPCompatibleInformation 來報告下列外來事件:
連線正常運作
如果電腦與顯示裝置之間的連線正常運作,顯示迷你埠驅動程式應該在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) 裝置直接或間接連接到連接器,而且如果已啟用 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旗標,直到連接器再次解除叢集為止。