Compartilhar via


Função D3DKMTOutputDuplPresent (d3dkmthk.h)

Envia um comando atual da API de Duplicação da Área de Trabalho swapchain do DWM (Gerenciador de Janelas da Área de Trabalho) para o subsistema de kernel de elementos gráficos do Microsoft DirectX (Dxgkrnl.sys).

Sintaxe

NTSTATUS D3DKMTOutputDuplPresent(
  [in] const D3DKMT_OUTPUTDUPLPRESENT *unnamedParam1
);

Parâmetros

[in] unnamedParam1

Um ponteiro para uma estrutura de D3DKMT_OUTPUTDUPLPRESENT que descreve parâmetros para a operação atual.

Valor de retorno

Retorna um dos seguintes valores:

Código de retorno Descrição
STATUS_SUCCESS A operação atual foi executada com êxito.
STATUS_DEVICE_REMOVED O adaptador gráfico foi interrompido ou o contexto de exibição foi redefinido.
STATUS_INVALID_PARAMETER Os parâmetros foram validados e determinados como incorretos.
STATUS_NO_MEMORY D3DKMTOutputDuplPresent não pôde ser concluída devido à memória insuficiente.
STATUS_GRAPHICS_ALLOCATION_INVALID O identificador da superfície primária foi invalidado devido a uma alteração no modo de exibição. Se o ICD (driver de cliente) instalável do OpenGL receber esse código de erro, ele deverá reabrir ou recriar o identificador primário, substituir todas as referências no buffer de comando pelo identificador antigo pelo novo identificador e, em seguida, reenviar o buffer.
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Ocorreu um erro no contexto do dispositivo de renderização especificado pelo membro hContext do D3DKMT_OUTPUTDUPLPRESENT.
Observação: Este código de erro não indica o início de um processo de TDR (Detecção e Recuperação de Tempo Limite) ou que a GPU parou de responder.
Por exemplo, o subsistema de kernel de gráficos DirectX coloca um dispositivo em um estado de erro se o driver de miniporto de exibição indicou que um buffer DMA enviado desse dispositivo causou uma falha ou se o gerenciador de memória de vídeo não pôde colocar todas as alocações necessárias para um buffer de DMA mesmo depois de dividir o buffer de DMA. Depois que um dispositivo estiver em um estado de erro, ele não poderá executar mais nenhuma operação e deverá ser destruído e recriado. O ICD pode chamar a função D3DKMTGetDeviceState para determinar um motivo mais preciso para o erro.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8
servidor com suporte mínimo Windows Server 2012
da Plataforma de Destino Universal
cabeçalho d3dkmthk.h (inclua D3dkmthk.h)
biblioteca Gdi32.lib
de DLL Gdi32.dll

Consulte também

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT