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
DxgkCbSetPowerComponentLatency