DXGKCB_POWERRUNTIMECONTROLREQUEST función de devolución de llamada (d3dkmddi.h)

Un controlador de miniporte de pantalla en modo kernel llama a DXGKCB_POWERRUNTIMECONTROLREQUEST para intercambiar información con el complemento power Engine (PEP).

Sintaxis

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

Identificador del adaptador de pantalla. El controlador de minipuerto de pantalla recibe el identificador del miembro DeviceHandle de la estructura DXGKRNL_INTERFACE en una llamada a su función DxgkDdiStartDevice .

[in] PowerControlCode

Puntero a un GUID que define el significado de la solicitud de control del controlador de minipuerto de pantalla. Para obtener más información, vea la sección Comentarios.

[in, optional] InBuffer

Puntero opcional a un búfer de entrada.

[in] InBufferSize

Tamaño, en bytes, del búfer opcional al que apunta InBuffer . Se establece en cero si no se proporciona inBuffer .

[in, optional] OutBuffer

Puntero opcional a un búfer de salida.

[in] OutBufferSize

Tamaño, en bytes, del búfer opcional al que apunta OutBuffer . Establezca en cero si no se proporciona outBuffer .

[out] BytesReturned

Número de bytes reales devueltos en el búfer al que apunta OutBuffer . El valor devuelto será <= OutBufferSize.

Valor devuelto

DXGKCB_POWERRUNTIMECONTROLREQUEST devuelve STATUS_SUCCESS si se realiza correctamente. De lo contrario, devuelve uno de los códigos de error definidos en Ntstatus.h.

Comentarios

Nota

Para evitar un posible interbloqueo, no llame a la función DXGKCB_SETPOWERCOMPONENTACTIVE hasta que esta función haya devuelto.

DXGKCB_XXX funciones se implementan mediante Dxgkrnl. Para usar esta función de devolución de llamada, llame a DxgkCbPowerRuntimeControlRequest a través del DXGKRNL_INTERFACE.

Aunque el controlador puede usar cualquier GUID en el parámetro PowerControlCode , se recomiendan los siguientes GUID definidos en D3dkmddi.h . Mediante el uso de estos GUID, el controlador de puerto de visualización puede emitir eventos de seguimiento de eventos para Windows (ETW), que son útiles para generar perfiles de problemas de rendimiento del controlador.

GUID Significado
GUID_DXGKDDI_POWER_VOLTAGE_UP Aumente el voltaje.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN Disminuya el voltaje.
GUID_DXGKDDI_POWER_VOLTAGE Cambie el voltaje, pero el controlador no sabe si el cambio es un aumento o disminución.
GUID_DXGKDDI_POWER_CLOCK_UP Aumente la configuración del reloj.
GUID_DXGKDDI_POWER_CLOCK_DOWN Reduzca la configuración del reloj.
GUID_DXGKDDI_POWER_CLOCK Cambie la configuración del reloj, pero el controlador no sabe si el cambio es un aumento o disminución.
GUID_DXGKDDI_POWER_BANDWIDTH_UP Aumentar el ancho de banda.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN Reduzca el ancho de banda.
GUID_DXGKDDI_POWER_BANDWIDTH Cambie el ancho de banda, pero el controlador no sabe si el cambio es un aumento o disminución.

Estos GUID no implican que haya ningún protocolo de comunicación entre el controlador de miniporte de pantalla y el PEP, ni tampoco implican que haya restricciones en los valores que se pueden pasar entre el controlador de miniporte de pantalla y el PEP.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 (WDDM 1.2)
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado d3dkmddi.h (incluya D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

Consulte también

DXGKCB_SETPOWERCOMPONENTACTIVE

DxgkDdiStartDevice

DXGKRNL_INTERFACE