DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT funzione di callback (dispmprt.h)
La funzione DxgkDdiOPMCreateProtectedOutput crea un nuovo oggetto di output protetto con semantica COPP (Certified Output Protection Protocol) o OPM.
Sintassi
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
)
{...}
Parametri
[in] MiniportDeviceContext
Handle per un blocco di contesto associato a una scheda di visualizzazione. In precedenza, la funzione dxgkDdiAddDevice del driver miniport di visualizzazione forniva questo handle al sottosistema del kernel grafico DirectX.
[in] VidPnTargetId
Intero che identifica in modo univoco la destinazione del video presente che corrisponde al nuovo oggetto di output protetto. Ogni destinazione presente video deve corrispondere a un connettore di monitoraggio fisico. Se VidPnTargetId corrisponde a più connettori di monitoraggio fisico, DxgkDdiOPMCreateProtectedOutput deve restituire il codice di errore STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED o STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED.
[in] NewVideoOutputSemantics
Valore DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICStipizzato che determina se il nuovo output protetto ha una semantica COPP o OPM.
[out] NewProtectedOutputHandle
Puntatore a una variabile che riceve l'handle al nuovo oggetto di output protetto se DxgkDdiOPMCreateProtectedOutput restituisce correttamente. Il sottosistema kernel della grafica DirectX passa questo handle nelle chiamate al driver miniport visualizzato DxgkDdiOPMGetRandomNumber, DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation, DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMConfigureProtectedOutpute DxgkDdiOPMDestroyProtectedOutput.
Se DxgkDdiOPMCreateProtectedOutput ha esito negativo, il valore della variabile rimane invariato.
Valore restituito
DxgkDdiOPMCreateProtectedOutput restituisce uno dei valori seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | La funzione ha creato correttamente un nuovo oggetto di output protetto. |
STATUS_GRAPHICS_OPM_NOT_SUPPORTED | Il driver di miniport di visualizzazione non supporta OPM perché il fornitore dell'hardware non ha mai firmato il contratto di licenza OPM o l'hardware grafico del driver miniport non è conforme alle regole OPM. |
STATUS_GRAPHICS_COPP_NOT_SUPPORTED | Il driver miniport di visualizzazione non supporta COPP né perché il fornitore di hardware non ha mai firmato il contratto di licenza COPP o l'hardware grafico del driver miniport non è conforme alle regole COPP. |
STATUS_NO_MEMORY | DxgkDdiOPMCreateProtectedOutput non può allocare memoria necessaria per il completamento. |
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput non è riuscito a creare un output protetto perché la destinazione del video presente è in modalità di spanning. Quando la destinazione del video presente è in modalità di spanning, corrisponde a più connettori di monitoraggio fisico e ogni connettore visualizza una parte separata del buffer dei fotogrammi. Per un diagramma di come il driver miniport di visualizzazione implementa in genere la modalità di spanning, vedere la sezione Osservazioni. Il driver miniport di visualizzazione informa il sistema operativo sul modo in cui il buffer dei fotogrammi corrisponde a un particolare monitor. La metà sinistra del buffer dei fotogrammi viene visualizzata su un monitor e la metà destra del buffer dei fotogrammi viene visualizzata sull'altro monitor. |
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput non è riuscito a creare un output protetto perché la destinazione del video presente è in modalità teatro. Quando la destinazione del video presente è in modalità teatro, corrisponde a due connettori di monitoraggio fisico; un connettore visualizza l'intero buffer frame e l'altro connettore visualizza solo parte del buffer di frame. La modalità teatro è nota anche come modalità mirror. Per un diagramma di come il driver di miniport di visualizzazione implementa in genere la modalità teatro, vedere la sezione Osservazioni. Il driver miniport di visualizzazione informa il sistema operativo sul modo in cui il buffer dei fotogrammi corrisponde a un particolare monitor. L'intero buffer dei fotogrammi viene visualizzato su un monitor e solo parte del buffer di frame viene visualizzato sull'altro monitor. |
Questa funzione potrebbe restituire anche altri codici di errore definiti in Ntstatus.h.
Osservazioni
La figura seguente mostra come il driver miniport di visualizzazione implementa in genere la modalità di spanning.


Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | dispmprt.h (include Dispmprt.h) |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |
Vedere anche
DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMDestroyProtectedOutput