【问题标题】:InitiateShutdown, can't understand a value passed to the functionInitiateShutdown,无法理解传递给函数的值
【发布时间】:2016-12-30 18:23:01
【问题描述】:

我不明白使用此功能关闭计算机和关闭计算机电源之间的区别。我在看https://msdn.microsoft.com/en-us/library/windows/desktop/aa376872(v=vs.85).aspx
具体来说,我不懂SHUTDOWN_NOREBOOT

  • SHUTDOWN_NOREBOOT
    0x00000010 (0x10)
    计算机已关闭,但未关闭或重新启动。
  • SHUTDOWN_POWEROFF
    0x00000008 (0x8)
    计算机已关闭并断电。
  • SHUTDOWN_RESTART
    0x00000004 (0x4)
    计算机已关闭并重新启动。

如果计算机没有断电也不会重新启动,那么目的是什么? SHUTDOWN_NOREBOOT 是让电脑休眠的同义词吗?

【问题讨论】:

  • 处理器只是简单地停止了,但机器仍然通电。这是没有 ACPI 时的正常情况。

标签: c winapi shutdown


【解决方案1】:

ExitWindowsExEWX_SHUTDOWN 的等效选项的文档更清晰一些。 (强调我的)

将系统关闭到可以安全关闭电源的点。所有文件缓冲区都已刷新到磁盘,并且所有正在运行的进程都已停止。

在过去,PC 无法自行关闭,也没有EWX_POWEROFF 选项。当你关闭 Windows 时,它要么让你回到 DOS,要么(如果没有外部 DOS 环境)会出现一个黑屏,上面写着“It's now safe to turn off your computer”。这是您翻转机箱侧面的big red switch 的提示。

如今,这种关闭模式已过时,但为了向后兼容而保留。如果 Windows 10 仍然可以显示“现在可以安全地关闭计算机”屏幕,我不会感到惊讶。

【讨论】:

  • 我可以想到一些我想关闭的工业用例,以便“刷新缓冲区并且进程已停止”,但仍保持电源打开,以免干扰生活在相同的外围设备电源。它仍然有它的用途。
  • 据我所知,Windows 实际上不再能够在不关闭电源的情况下关闭。该请求被接受以实现向后兼容性,但系统仍会关闭电源。 (我认为 Windows Vista 中的支持可能已被删除,根据我的研究,这是第一个需要 ACPI 硬件的版本。)
猜你喜欢
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多