Función ZwPowerInformation (ntddk.h)

La rutina ZwPowerInformation establece o recupera información de energía del sistema.

Sintaxis

NTSYSAPI NTSTATUS ZwPowerInformation(
  [in]            POWER_INFORMATION_LEVEL InformationLevel,
  [in, optional]  PVOID                   InputBuffer,
  [in]            ULONG                   InputBufferLength,
  [out, optional] PVOID                   OutputBuffer,
  [in]            ULONG                   OutputBufferLength
);

Parámetros

[in] InformationLevel

Especifica el nivel de información solicitado, que indica la información de energía específica que se va a establecer o recuperar. Actualmente, el único valor de POWER_INFORMATION_LEVEL admitido es PlatformInformation.

Valor Significado
PlatformInformation
La información representa las funcionalidades de potencia admitidas actualmente del sistema. La información puede cambiar a medida que se instalan los controladores. Por ejemplo, la instalación de controladores de dispositivos heredados que no admiten la administración de energía podría modificar las funcionalidades del sistema.

[in, optional] InputBuffer

Puntero a un búfer de entrada asignado por el autor de la llamada. Este parámetro debe ser NULL; de lo contrario, se devuelve ERROR_INVALID_PARAMETER .

[in] InputBufferLength

Tamaño, en bytes, del búfer en InputBuffer. El parámetro debe establecerse en cero.

[out, optional] OutputBuffer

Puntero a un búfer de salida. El tipo de datos de este búfer depende del nivel de información solicitado en el parámetro InformationLevel . Para el nivel PlatformInformation , el único valor admitido actualmente, se requiere el parámetro OutputBuffer y debe ser del tipo POWER_PLATFORM_INFORMATION .

[in] OutputBufferLength

Tamaño, en bytes, del búfer de salida. Según el nivel de información solicitado, el búfer puede tener un tamaño variable. PlatformInformation, el único valor admitido actualmente, requiere un búfer que sea el tamaño de una estructura de POWER_PLATFORM_INFORMATION .

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realiza correctamente. Si se produce un error en la llamada, los posibles códigos de error incluyen lo siguiente:

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL
El búfer de salida es de tamaño insuficiente para contener los datos que se devuelven.
STATUS_INVALID_PARAMETER
El nivel de información PlatformInformation , que es el único valor admitido actualmente, no requiere ningún búfer de entrada y debe contener un búfer de salida. El llamador proporcionó un búfer de entrada o ningún búfer de salida.
STATUS_ACCESS_DENIED
El autor de la llamada tenía derechos de acceso insuficientes para realizar la acción solicitada.

Comentarios

NtPowerInformation y ZwPowerInformation son dos versiones de la misma rutina de Windows Native System Services.

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Ejemplos

En este ejemplo se muestra una llamada de función válida.

POWER_PLATFORM_INFORMATION PlatformInfo = {0};
NTSTATUS Result = NtPowerInformation(PlatformInformation, NULL, 0, &PlatformInfo, sizeof(PlatformInfo));

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Universal
Encabezado ntddk.h (incluya Wdm.h, Ntddk.h, Ntpoapi.h)
Library Ntoskrnl.lib
Archivo DLL Ntoskrnl.lib
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

POWER_PLATFORM_INFORMATION

Uso de las versiones Nt y Zw de las rutinas nativas de System Services