Sdílet prostřednictvím


Hlášení stavu chráněného výstupu

Externí události můžou změnit povahu ochrany použité u konektoru nebo dokonce změnit typ konektoru. Ovladač miniportu zobrazení musí aplikacím OPM hlásit tyto události vždy, když obdrží volání na svou funkci DxgkDdiOPMGetInformation nebo DxgkDdiOPMGetCOPPCompatibleInformation. Ovladač miniportu zobrazení musí hlásit následující externí události vrácením zadaných stavových příznaků z DXGKMDT_OPM_STATUS výčtu pouze při příštím volání DxgkDdiOPMGetInformation nebo DxgkDdiOPMGetCOPPCompatibleInformation po výskytu událostí:

Správné fungování připojení
Pokud připojení mezi počítačem a zobrazovacím zařízením funguje správně, měl by ovladač miniportu zobrazení nastavit příznak stavu DXGKMDT_OPM_STATUS_NORMAL v ulStatusFlagsčlen DXGKMDT_OPM_STANDARD_INFORMATION,DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING nebo DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION struktury.

Integrita připojení
Pokud se počítač a zobrazovací zařízení odpojí, ovladač miniportu zobrazení by měl nastavit příznak stavu DXGKMDT_OPM_STATUS_LINK_LOST v ulStatusFlags členu struktury DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING nebo DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION.

Rekonfigurace konektorů
Pokud koncový uživatel způsobí změnu konfigurace fyzického konektoru, ovladač zobrazení miniportu by měl v členu struktury DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING nebo DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION nastavit příznak stavu DXGKMDT_OPM_STATUS_RENEGOTIATION_REQUIRED v ulStatusFlags.

Porušování
Pokud došlo k manipulaci s grafickým adaptérem nebo ovladačem miniportu displeje adaptéru, měl by ovladač miniportu displeje nastavit příznak stavu DXGKMDT_OPM_STATUS_TAMPERING_DETECTED v členovi ulStatusFlags struktury DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING nebo DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION.

Odvoláno zařízení HDCP
Pokud je zařízení HDCP (High-Bandwidth Digital Content Protection) přímo nebo nepřímo připojeno ke konektoru a pokud je HDCP aktivováno, měl by ovladač miniportu zobrazení nastavit příznak stavu DXGKMDT_OPM_STATUS_REVOKED_HDCP_DEVICE_ATTACHED ve ulStatusFlags člena struktury DXGKMDT_OPM_STANDARD_INFORMATION nebo DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT. Pokud HDCP není povolené, ovladač nemusí nastavovat tento stavový příznak. Ovladač nastaví tuto hodnotu stavu pouze z volání funkce DxgkDdiOPMGetInformation k určení, zda je hdCP povolen.

Ovladač miniportu zobrazení vrátí ukazatel na strukturu DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING, nebo DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION v členovi abRequestedInformation struktury DXGKMDT_OPM_REQUESTED_INFORMATION. Ukazatel DXGKMDT_OPM_REQUESTED_INFORMATION se vrátí prostřednictvím parametru RequestedInformation v DxgkDdiOPMGetInformation nebo DxgkDdiOPMGetCOPPCompatibleInformation.

Představte si například dvě aplikace pro přehrávání médií, A a B. Každá aplikace řídí prostřednictvím OPM úroveň ochrany HDCP konektoru, který připojí počítač k monitoru displeje. Každá aplikace řídí svůj vlastní jedinečný chráněný výstup. Pokud se konektor odpojí, při příštím spuštění aplikace DxgkDdiOPMGetInformation nebo DxgkDdiOPMGetCOPPCompatibleInformation do chráněného výstupu by ovladač miniportu zobrazení měl vrátit příznak stavu DXGKMDT_OPM_STATUS_LINK_LOST.

Předpokládejme, že aplikace A je první, která zahájí volání DxgkDdiOPMGetInformation nebo DxgkDdiOPMGetCOPPCompatibleInformation na jeho chráněném výstupu. Aplikace A pak obdrží příznak DXGKMDT_OPM_STATUS_LINK_LOST a odpovídajícím způsobem funguje. Pokud aplikace A zahájí následné volání DxgkDdiOPMGetInformation nebo DxgkDdiOPMGetCOPPCompatibleInformation , neměl by obdržet příznak DXGKMDT_OPM_STATUS_LINK_LOST, pokud se konektor znovu neodpojí. Když aplikace B zahájí volání DxgkDdiOPMGetInformation nebo DxgkDdiOPMGetCOPPCompatibleInformation na svém chráněném výstupu, obdrží příznak DXGKMDT_OPM_STATUS_LINK_LOST a odpovídajícím způsobem postupuje. Aplikace B by znovu neměla obdržet příznak DXGKMDT_OPM_STATUS_LINK_LOST, dokud se konektor znovu neodpojí.