DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT função de retorno de chamada (dispmprt.h)
A função DxgkDdiOPMCreateProtectedOutput cria um novo objeto de saída protegido com a semântica COPP (Certified Output Protection Protocol) ou o OPM.
Sintaxe
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
)
{...}
Parâmetros
[in] MiniportDeviceContext
Um identificador para um bloco de contexto associado a um adaptador de exibição. Anteriormente, a função DxgkDdiAddDevice do driver de miniporto de exibição forneceu esse identificador para o subsistema de kernel de elementos gráficos DirectX.
[in] VidPnTargetId
Um inteiro que identifica exclusivamente o destino presente do vídeo que corresponde ao novo objeto de saída protegido. Cada destino de vídeo presente deve corresponder a um conector de monitor físico. Se VidPnTargetId corresponder a vários conectores de monitor físico, DxgkDdiOPMCreateProtectedOutput deverá retornar o código de erro STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED ou STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED.
[in] NewVideoOutputSemantics
Um valor digitado DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICSque determina se a nova saída protegida tem semântica COPP ou OPM.
[out] NewProtectedOutputHandle
Um ponteiro para uma variável que recebe o identificador para o novo objeto de saída protegido se DxgkDdiOPMCreateProtectedOutput retorna com êxito. O subsistema de kernel de elementos gráficos DirectX passa esse identificador em chamadas para o DxgkDdiOPMGetRandomNumber, DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation, DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMConfigureProtectedOutpute DxgkDdiOPMDestroyProtectedOutput.
Se DxgkDdiOPMCreateProtectedOutput falhar, o valor da variável ficará inalterado.
Valor de retorno
DxgkDdiOPMCreateProtectedOutput retorna um dos valores a seguir.
Código de retorno | Descrição |
---|---|
STATUS_SUCCESS | A função criou com êxito um novo objeto de saída protegido. |
STATUS_GRAPHICS_OPM_NOT_SUPPORTED | O driver de miniporto de exibição não dá suporte ao OPM porque o fornecedor de hardware nunca assinou o contrato de licença do OPM ou o hardware gráfico do driver de miniport não está em conformidade com as regras do OPM. |
STATUS_GRAPHICS_COPP_NOT_SUPPORTED | O driver de miniporto de exibição não dá suporte ao COPP porque o fornecedor de hardware nunca assinou o contrato de licença copp ou o hardware gráfico do driver de miniport não está em conformidade com as regras copp. |
STATUS_NO_MEMORY | DxgkDdiOPMCreateProtectedOutput não pode alocar a memória necessária para que ela seja concluída. |
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput não pôde criar uma saída protegida porque o destino presente do vídeo está no modo de abrangência. Quando o destino presente do vídeo está no modo de abrangência, ele corresponde a vários conectores de monitor físico e cada conector exibe uma parte separada do buffer de quadros. Para obter um diagrama de como o driver de miniporto de exibição normalmente implementa o modo de abrangência, consulte a seção Comentários. O driver de miniporto de exibição informa ao sistema operacional como o buffer de quadros corresponde a um monitor específico. A metade esquerda do buffer de quadros é exibida em um monitor e a metade direita do buffer de quadros é exibida no outro monitor. |
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED | DxgkDdiOPMCreateProtectedOutput não pôde criar uma saída protegida porque o destino presente do vídeo está no modo de teatro. Quando o destino presente do vídeo está no modo de teatro, ele corresponde a dois conectores de monitor físico; um conector exibe todo o buffer de quadros e o outro conector exibe apenas parte do buffer de quadros. O modo de teatro também é conhecido como modo espelho. Para obter um diagrama de como o driver de miniporto de exibição normalmente implementa o modo de teatro, consulte a seção Comentários. O driver de miniporto de exibição informa ao sistema operacional como o buffer de quadros corresponde a um monitor específico. O buffer de quadro inteiro é exibido em um monitor e apenas parte do buffer de quadro é exibida no outro monitor. |
Essa função também pode retornar outros códigos de erro definidos em Ntstatus.h.
Observações
A figura a seguir mostra como o driver de miniporto de exibição normalmente implementa o modo de abrangência.


Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | dispmprt.h (inclua Dispmprt.h) |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |
Consulte também
DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMDestroyProtectedOutput