Función NtPowerInformation (wdm.h)
La rutina NtPowerInformation establece o recupera información de energía del sistema.
Sintaxis
__kernel_entry NTSYSCALLAPI NTSTATUS NtPowerInformation(
[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 | Descripción |
---|---|
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 | wdm.h (include Wdm.h, Ntddk.h, Ntpoapi.h) |
Library | Ntoskrnl.lib |
Archivo DLL | Ntoskrnl.lib |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Consulte también
Uso de las versiones Nt y Zw de las rutinas nativas de System Services