Compartilhar via


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.

Diagrama ilustrando o modo de abrangência A figura a seguir mostra como o driver de miniporta de exibição normalmente implementa o modo de teatro. Diagrama ilustrando 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

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMDestroyProtectedOutput

DxgkDdiOPMGetCOPPCompatibleInformation

DxgkDdiOPMGetInformation

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers