Condividi tramite


Stato di creazione di report di un output protetto

Gli eventi esterni possono modificare la natura della protezione applicata a un connettore o anche modificare il tipo del connettore. Il driver miniport visualizzato deve segnalare questi eventi alle applicazioni OPM ogni volta che il driver riceve una chiamata alla relativa funzione DxgkDdiOPMGetInformation o DxgkDdiOPMGetCOPPCompatibleInformation. Il driver miniport visualizzato deve segnalare gli eventi esterni seguenti restituendo i flag di stato specificati dall'enumerazione DXGKMDT_OPM_STATUS solo nella chiamata successiva a DxgkDdiOPMGetInformation o DxgkDdiOPMGetCOPPCompatibleInformation dopo che si verificano gli eventi:

Connessione funzionante correttamente
Se la connessione tra il computer e il dispositivo di visualizzazione funziona correttamente, il driver miniport visualizzato deve impostare il flag di stato DXGKMDT_OPM_STATUS_NORMAL nel membro ulStatusFlags del DXGKMDT_OPM_STANDARD_INFORMATION,DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING o DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION struttura.

Integrità della connessione
Se il computer e il dispositivo di visualizzazione vengono disconnessi, il driver miniport visualizzato deve impostare il flag di stato DXGKMDT_OPM_STATUS_LINK_LOST nel membro ulStatusFlags del DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING o DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION struttura.

Riconfigurazione del connettore
Se l'utente finale causa la modifica della configurazione del connettore fisico, il driver miniport visualizzato deve impostare il flag di stato DXGKMDT_OPM_STATUS_RENEGOTIATION_REQUIRED nel membro ulStatusFlags del DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING o DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION struttura.

Manomissione
Se si è verificato un manomissione con la scheda grafica o il driver miniport visualizzato dell'adattatore, il driver miniport visualizzato deve impostare il flag di stato DXGKMDT_OPM_STATUS_TAMPERING_DETECTED nel membro ulStatusFlags del DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING o DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION struttura.

Dispositivo HDCP revocato
Se un dispositivo HDCP (High-Bandwidth Digital Content Protection) revocato è direttamente o indirettamente collegato a un connettore e se HDCP è abilitato, il driver miniport visualizzato deve impostare il flag di stato DXGKMDT_OPM_STATUS_REVOKED_HDCP_DEVICE_ATTACHED nel membro ulStatusFlags della struttura DXGKMDT_OPM_STANDARD_INFORMATION o DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT. Se HDCP non è abilitato, il driver non è necessario per impostare questo flag di stato. Il driver imposta questo valore di stato solo da una chiamata alla relativa funzione DxgkDdiOPMGetInformation per determinare se HDCP è abilitato.

Il driver miniport visualizzato restituisce un puntatore a un DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT, DXGKMDT_OPM_ACP_AND_CGMSA_SIGNALING o DXGKMDT_OPM_CONNECTED_HDCP_DEVICE_INFORMATION struttura nel membro abRequestedInformation della struttura DXGKMDT_OPM_REQUESTED_INFORMATION. Viene restituito un puntatore a DXGKMDT_OPM_REQUESTED_INFORMATION tramite il parametro RequestedInformation di DxgkDdiOPMGetInformation o DxgkDdiOPMGetCOPPCompatibleInformation.

Si considerino ad esempio due applicazioni di riproduzione multimediale, A e B. Ogni applicazione controlla, tramite OPM, il livello di protezione HDCP del connettore che collega il computer al monitor visualizzato. Ogni applicazione controlla il proprio output protetto univoco. Se il connettore viene scollegato, la successiva volta che l'applicazione avvia un driver DxgkDdiOPMGetInformation o DxgkDdiOPMGetCOPPCompatibleInformation all'output protetto, il driver miniport visualizzato deve restituire il flag di stato DXGKMDT_OPM_STATUS_LINK_LOST.

Si supponga che l'applicazione A sia la prima a avviare una chiamata a DxgkDdiOPMGetInformation o DxgkDdiOPMGetCOPPCompatibleInformation nell'output protetto. L'applicazione A riceve quindi il flag DXGKMDT_OPM_STATUS_LINK_LOST e agisce di conseguenza. Se l'applicazione A avvia una chiamata DxgkDdiOPMGetInformation o DxgkDdiOPMGetCOPPCompatibleInformation , non deve ricevere il flag di DXGKMDT_OPM_STATUS_LINK_LOST, a meno che il connettore non venga nuovamente scollegato. Quando l'applicazione B avvia una chiamata a DxgkDdiOPMGetInformation o DxgkDdiOPMGetCOPPCompatibleInformation nell'output protetto, riceve il flag di DXGKMDT_OPM_STATUS_LINK_LOST e agisce di conseguenza. Di nuovo, l'applicazione B non deve ricevere nuovamente il flag di DXGKMDT_OPM_STATUS_LINK_LOST finché il connettore non viene scollegato.