Compartilhar via


DXGKCB_POWERRUNTIMECONTROLREQUEST função de retorno de chamada (d3dkmddi.h)

Um driver de miniporto de exibição no modo kernel chama DXGKCB_POWERRUNTIMECONTROLREQUEST para trocar informações com o PEP (Plug-in do Power Engine).

Sintaxe

DXGKCB_POWERRUNTIMECONTROLREQUEST DxgkcbPowerruntimecontrolrequest;

NTSTATUS DxgkcbPowerruntimecontrolrequest(
  [in]           IN_CONST_HANDLE hAdapter,
  [in]           IN LPCGUID PowerControlCode,
  [in, optional] IN PVOID InBuffer,
  [in]           IN SIZE_T InBufferSize,
  [in, optional] OUT PVOID OutBuffer,
  [in]           IN SIZE_T OutBufferSize,
  [out]          OUT PSIZE_T BytesReturned
)
{...}

Parâmetros

[in] hAdapter

Um identificador para o adaptador de exibição. O driver de miniporto de exibição recebe o identificador do membro DeviceHandle da estrutura DXGKRNL_INTERFACE em uma chamada para sua função DxgkDdiStartDevice .

[in] PowerControlCode

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

[in, optional] InBuffer

Um ponteiro opcional para um buffer de entrada.

[in] InBufferSize

O tamanho, em bytes, do buffer opcional para o qual o InBuffer aponta. Defina como zero se nenhum InBuffer for fornecido.

[in, optional] OutBuffer

Um ponteiro opcional para um buffer de saída.

[in] OutBufferSize

O tamanho, em bytes, do buffer opcional para o qual OutBuffer aponta. Defina como zero se nenhum OutBuffer for fornecido.

[out] BytesReturned

O número de bytes reais retornados no buffer para o qual OutBuffer aponta. O valor retornado será <= OutBufferSize.

Retornar valor

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

Comentários

Observação

Para evitar um possível deadlock, não chame a função DXGKCB_SETPOWERCOMPONENTACTIVE até que essa função seja retornada.

DXGKCB_XXX funções são implementadas por Dxgkrnl. Para usar essa função de retorno de chamada, chame DxgkCbPowerRuntimeControlRequest por meio do DXGKRNL_INTERFACE.

Embora o driver possa usar qualquer GUID no parâmetro PowerControlCode , os GUIDs a seguir definidos em D3dkmddi.h são recomendados. Usando esses GUIDs, o driver de porta de exibição pode emitir eventos ETW (Rastreamento de Eventos para Windows), que são úteis para criar o perfil de problemas de desempenho do driver.

GUID Significado
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.

Esses GUIDs não implicam que haja qualquer protocolo de comunicação entre o driver de miniporto de exibição e o PEP, nem implicam que haja restrições nos valores que podem ser passados entre o driver de miniporto de exibição e o PEP.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 (WDDM 1.2)
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

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE