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 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 miniporta 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 de tipo DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS que 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 retornar com êxito . O subsistema de kernel de elementos gráficos DirectX passa esse identificador em chamadas para dxgkDdiOPMGetRandomNumber do driver de miniporta de exibição, DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation, DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMConfigureProtectedOutput e DxgkDdiOPMDestroyProtectedOutput.
Se DxgkDdiOPMCreateProtectedOutput falhar, o valor da variável ficará inalterado.
Retornar valor
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 miniporta de vídeo 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 miniporto não está em conformidade com as regras do OPM. |
STATUS_GRAPHICS_COPP_NOT_SUPPORTED | O driver de miniporta 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 miniporto 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 do vídeo presente 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 miniporta de exibição normalmente implementa o modo de abrangência, consulte a seção Comentários. O driver de miniporta de exibição informa ao sistema operacional como o buffer de quadro 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 do vídeo presente está no modo de teatro. Quando o destino do vídeo presente 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 miniporta de exibição normalmente implementa o modo de teatro, consulte a seção Comentários. O driver de miniporta de exibição informa ao sistema operacional como o buffer de quadro corresponde a um monitor específico. O buffer de quadro inteiro é exibido em um monitor e apenas parte do buffer de quadros é exibida no outro monitor. |
Essa função também pode retornar outros códigos de erro definidos em Ntstatus.h.
Comentários
A figura a seguir mostra como o driver de miniporta de exibição normalmente implementa o modo de abrangência.
A figura a seguir mostra como o driver de miniporta de exibição normalmente implementa o modo de teatro. *DxgkDdiOPMCreateProtectedOutput* deve ser tornado paginável.Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | dispmprt.h (inclua Dispmprt.h) |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |
Confira também
DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMDestroyProtectedOutput