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 |