Função de retorno de chamada DXGKDDIPOWERRUNTIMECONTROLREQUEST (d3dkmddi.h)

Chamado pelo PEP (Plug-in do Power Engine) para trocar informações com o driver de miniporta de exibição. Também chamado pelo subsistema de kernel de elementos gráficos do Microsoft DirectX para notificar o driver de miniporto de exibição sobre determinados eventos.

Sintaxe

DXGKDDIPOWERRUNTIMECONTROLREQUEST Dxgkddipowerruntimecontrolrequest;

NTSTATUS Dxgkddipowerruntimecontrolrequest(
  IN_CONST_HANDLE DriverContext,
  IN LPCGUID PowerControlCode,
  IN PVOID InBuffer,
  IN SIZE_T InBufferSize,
  OUT PVOID OutBuffer,
  IN SIZE_T OutBufferSize,
  OUT PSIZE_T BytesReturned
)
{...}

Parâmetros

DriverContext

Um identificador para um bloco de contexto associado a um adaptador de exibição. A função DxgkDdiAddDevice do driver de miniporta de exibição forneceu anteriormente esse identificador para o subsistema de kernel de elementos gráficos DirectX.

PowerControlCode

Um ponteiro para um GUID que define o significado da solicitação de controle do PEP. Para obter mais informações, consulte Comentários.

InBuffer

Um ponteiro opcional para um buffer de entrada.

InBufferSize

O tamanho, em bytes, do buffer para o qual o InBuffer aponta.

OutBuffer

Um ponteiro opcional para um buffer de saída.

OutBufferSize

O tamanho, em bytes, do buffer para o qual OutBuffer aponta.

BytesReturned

Um ponteiro opcional para um buffer que contém o número de bytes gravados pelo driver de miniporto de exibição no buffer de saída.

Retornar valor

Retorna STATUS_SUCCESS se for bem-sucedido. Caso contrário, ele retornará um dos códigos de erro definidos em Ntstatus.h.

Comentários

O sistema operacional chamará DxgkDdiPowerRuntimeControlRequest somente se o driver de miniporto de exibição indicar suporte definindo DXGK_DRIVERCAPS. SupportRuntimePowerManagement como TRUE.

GUIDs usados pelo PEP (Plug-in do Power Engine)

O PEP usa os GUIDs a seguir definidos em D3dkmddi.h para trocar informações com o driver de miniporto de exibição. O driver de porta de exibição usa esses GUIDs para emitir eventos ETW (Rastreamento de Eventos para Windows), que são úteis para criar o perfil de problemas de desempenho do driver.
GUID_DXGKDDI_POWER_VOLTAGE_UP
Aumente a tensão.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN
Diminua a tensão.
GUID_DXGKDDI_POWER_VOLTAGE
Altere a tensão, mas o driver não sabe se a alteração é um aumento ou diminuição.
GUID_DXGKDDI_POWER_CLOCK_UP
Aumente a configuração do relógio.
GUID_DXGKDDI_POWER_CLOCK_DOWN
Diminua a configuração do relógio.
GUID_DXGKDDI_POWER_CLOCK
Altere a configuração do relógio, mas o driver não sabe se a alteração é um aumento ou diminuição.
GUID_DXGKDDI_POWER_BANDWIDTH_UP
Aumentar a largura de banda.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN
Diminua a largura de banda.
GUID_DXGKDDI_POWER_BANDWIDTH
Altere a largura de banda, mas o driver não sabe se a alteração é um aumento ou diminuição.

GUIDs usados pelo subsistema de kernel de elementos gráficos DirectX

O subsistema de kernel de elementos gráficos DirectX usa os GUIDs a seguir definidos em D3dkmddi.h para notificar o driver de miniporto de exibição sobre determinados eventos.
GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
Usado após o subsistema de kernel de elementos gráficos DirectX registrar o dispositivo para gerenciamento de energia de runtime, mas antes do dispositivo ser iniciado. Depois que essa função tiver sido chamada com esse GUID, o driver de miniporto de exibição poderá chamar essas funções:
GUID_DXGKDDI_POWER_MANAGEMENT_STARTED
Usado depois que o subsistema de kernel de elementos gráficos DirectX inicia o gerenciamento de energia do runtime. Depois que essa função tiver sido chamada com esse GUID, o driver de miniporto de exibição poderá chamar qualquer função de power runtime.
GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
Usado imediatamente antes que o subsistema de kernel de elementos gráficos DirectX cancele o registro do dispositivo para gerenciamento de energia de runtime. Depois que essa função tiver sido chamada com esse GUID, o driver de miniporta de exibição não deverá chamar nenhuma função de power runtime.

Sincronização

Essa função pode ser chamada simultaneamente de vários threads de execução.

O sistema operacional garante que essa função siga o modo de sincronização de nível zero, conforme definido no Nível Zero de Threading e Sincronização.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8
Servidor mínimo com suporte Windows Server 2012
Plataforma de Destino Área de Trabalho
Cabeçalho d3dkmddi.h (inclua D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

Confira também

DXGKARG_QUERYADAPTERINFO

DXGK_DRIVERCAPS

DxgkCbSetPowerComponentActive

DxgkCbSetPowerComponentLatency

DxgkCbSetPowerComponentResidency

DxgkDdiAddDevice