Compartir a través de


Función PoFxPowerControl (wdm.h)

La rutina PoFxPowerControl envía una solicitud de control de energía al marco de administración de energía (PoFx).

Sintaxis

NTSTATUS PoFxPowerControl(
  [in]            POHANDLE Handle,
  [in]            LPCGUID  PowerControlCode,
  [in, optional]  PVOID    InBuffer,
  [in]            SIZE_T   InBufferSize,
  [out, optional] PVOID    OutBuffer,
  [in]            SIZE_T   OutBufferSize,
  [out, optional] PSIZE_T  BytesReturned
);

Parámetros

[in] Handle

Identificador que representa el registro del dispositivo con PoFx. El controlador de dispositivo recibió anteriormente este identificador de la rutina PoFxRegisterDevice .

[in] PowerControlCode

Puntero al código de control de energía. Este código es un valor GUID que especifica la operación solicitada.

[in, optional] InBuffer

Puntero a un búfer asignado por el autor de la llamada que contiene los datos de entrada de la operación. El formato de los datos de este búfer depende del código de control de energía especificado por el parámetro PowerControlCode . El parámetro InBuffer es opcional y se puede especificar como NULL si la operación especificada no requiere datos de entrada.

[in] InBufferSize

Tamaño, en bytes, del búfer de entrada al que apunta el parámetro InBuffer . Si InBuffer es NULL, establezca InBufferSize en cero.

[out, optional] OutBuffer

Puntero a un búfer asignado por el autor de la llamada que va a contener los datos de salida de la operación. El formato de los datos de este búfer depende del código de control de energía especificado por el parámetro PowerControlCode . El parámetro OutBuffer es opcional y se puede especificar como NULL si la operación especificada no genera datos de salida.

[in] OutBufferSize

Tamaño, en bytes, del búfer de salida al que apunta el parámetro OutBuffer . Si OutBuffer es NULL, establezca OutBufferSize en cero.

[out, optional] BytesReturned

Puntero a una ubicación en la que la rutina escribe el número de bytes de datos escritos en el búfer al que apunta OutBuffer. El número de bytes escritos será menor o igual que OutBufferSize. Este parámetro es opcional y se puede especificar como NULL si el autor de la llamada no necesita saber cuántos bytes se escribieron en el búfer de salida.

Valor devuelto

PoFxPowerControl devuelve STATUS_SUCCESS si la operación solicitada se realiza correctamente. Los valores devueltos de error posibles incluyen el siguiente código de estado.

Código devuelto Descripción
STATUS_NOT_IMPLEMENTED
No se implementa la operación de control de energía solicitada.
STATUS_NOT_SUPPORTED
El complemento del motor de alimentación (PEP) no reconoce la compatibilidad con este dispositivo.

Comentarios

Un controlador de dispositivo llama a esta rutina para enviar una solicitud de control de energía directamente a PoFx. Una solicitud de control de energía es similar a una solicitud de control de E/S (IOCTL). A diferencia de un IOCTL, sin embargo, una solicitud de control de energía se envía directamente a PoFx y no se observa mediante otros controladores de dispositivo de la pila de dispositivos. Durante una llamada a PoFxPowerControl, PoFx realiza de forma sincrónica la operación solicitada.

Del mismo modo, PoFx puede enviar una solicitud de control de energía directamente al controlador del dispositivo. El controlador controla esta solicitud en su rutina PowerControlCallback .

PoFx delega el control de todas las solicitudes de control de energía al complemento del motor de alimentación (PEP). El PEP es un componente de software opcional que realiza tareas de administración de energía específicas de una línea de procesador o sistema de productos en un módulo chip (SoC). Si el proveedor de hardware para el procesador o SoC proporciona un PEP para una plataforma de hardware, este PEP podría controlar las solicitudes de control de energía personalizadas de un controlador de dispositivo o podría enviar solicitudes de control de energía personalizadas a la rutina PowerControlCallback del controlador. El proveedor puede especificar un conjunto de GUID de PowerControlCode y definir las operaciones designadas por estos GUID. Como opción, un controlador de dispositivo puede contener código específico de la plataforma para controlar o enviar solicitudes para estas operaciones.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Universal
Encabezado wdm.h
Library Ntoskrnl.lib
Archivo DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte también

PoFxRegisterDevice

PowerControlCallback