Compartir a través de


Función SetSystemPowerState (winbase.h)

[SetSystemPowerState está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. Las aplicaciones escritas para Windows Vista y versiones posteriores deben usar SetSuspendState en su lugar.

Suspende el sistema apagando la alimentación. Según el parámetro ForceFlag , la función suspende la operación inmediatamente o solicita permiso de todas las aplicaciones y controladores de dispositivos antes de hacerlo.

Sintaxis

BOOL SetSystemPowerState(
  [in] BOOL fSuspend,
  [in] BOOL fForce
);

Parámetros

[in] fSuspend

Si este parámetro es TRUE, el sistema se suspende. Si el parámetro es FALSE, el sistema hiberna.

[in] fForce

Este parámetro no produce resultado alguno.

Valor devuelto

Si la energía se ha suspendido y restaurado posteriormente, el valor devuelto es distinto de cero.

Si el sistema no se suspendió, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

El proceso de llamada debe tener el privilegio SE_SHUTDOWN_NAME . Para habilitar el privilegio SE_SHUTDOWN_NAME , use la función AdjustTokenPrivileges . Para obtener más información, consulte Cambio de privilegios en un token.

Si alguna aplicación o controlador deniega el permiso para suspender la operación, la función difunde un evento de PBT_APMQUERYSUSPENDFAILED a cada aplicación y controlador. Si se suspende la alimentación, esta función solo devuelve después de que se reanude la operación del sistema y se hayan transmitido mensajes WM_POWERBROADCAST relacionados a todas las aplicaciones y controladores.

Esta función es similar a la función SetSuspendState .

Para compilar una aplicación que usa esta función, defina la macro _WIN32_WINNT como 0x0400 o posterior. Para obtener más información, vea Usar los encabezados de Windows.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPENDFAILED

PBT_APMSUSPEND

Funciones de administración de energía

SetSuspendState

WM_POWERBROADCAST