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 |