InitiateShutdownW

指定したコンピュータのシャットダウンと再起動を開始し、再起動のために登録されているアプリケーションを再起動する。(Unicode)

InitiateShutdownW lpMachineName, lpMessage, dwGracePeriod, dwShutdownFlags, dwReason

lpMachineName : [wstr] シャットダウンするコンピュータの名前。このパラメータの値が NULL の場合、ローカルコンピュータがシャットダウンされる。
lpMessage : [wstr] 対話型シャットダウンダイアログボックスに表示するメッセージ。
dwGracePeriod : [int] コンピュータをシャットダウンするまで待機する秒数。このパラメータの値が 0 の場合、コンピュータは即座にシャットダウンされる。この値は MAX_SHUTDOWN_TIMEOUT に制限される。このパラメータの値が 0 より大きく、dwShutdownFlags パラメータが SHUTDOWN_GRACE_OVERRIDE フラグを指定している場合、関数は失敗し、エラーコード ERROR_BAD_ARGUMENTS を返す。
dwShutdownFlags : [int] シャットダウンのオプションを指定する 1 つ以上のビットフラグ。以下の値が定義されている。
dwReason : [int] シャットダウンを開始する理由。このパラメータは、システムシャットダウン理由コードの 1 つでなければならない。このパラメータが 0 の場合、既定は「No title for this reason could be found」としてログに記録される未定義のシャットダウンとなる。既定では計画外のシャットダウンでもある。システムの構成によっては、計画外のシャットダウンはシステム状態情報を含むファイルの作成を引き起こし、シャットダウンを遅らせる可能性がある。したがって、このパラメータに 0 を指定しないこと。

(プラグイン / モジュール : advapi32.dll)

解説

指定したコンピュータのシャットダウンと再起動を開始し、再起動のために登録されているアプリケーションを再起動する。(Unicode)

[戻り値]
関数が成功した場合、ERROR_SUCCESS を返す。関数が失敗した場合、以下のいずれかのエラーコードを返す。
(以下省略)

[備考]
ローカルコンピュータをシャットダウンするには、呼び出し元スレッドが SE_SHUTDOWN_NAME
特権を持っている必要がある。リモートコンピュータをシャットダウンするには、呼び出し元スレッドがリモートコンピュータ上で
SE_REMOTE_SHUTDOWN_NAME 特権を持っている必要がある。既定では、ユーザーはログオンしているコンピュータ上で
SE_SHUTDOWN_NAME 特権を有効にでき、管理者はリモートコンピュータ上で SE_REMOTE_SHUTDOWN_NAME
特権を有効にできる。詳細については「Running with Special
Privileges」を参照。失敗の一般的な原因には、無効またはアクセスできないコンピュータ名、不十分な特権などがある。指定したコンピュータで既にシャットダウンが進行中の場合、ERROR_SHUTDOWN_IN_PROGRESS
エラーが返される。高速ユーザー切り替えが有効だがログオンしているユーザーがいない場合、ERROR_NOT_READY
エラーが返されることがある。0
以外の戻り値はログオフが成功した、または成功することを意味するものではない。シャットダウンは非同期処理であり、API
呼び出しが戻ってからかなり後に発生することもあれば、まったく発生しないこともある。タイムアウト値が 0
であっても、シャットダウンはアプリケーション、サービス、またはシステム自身によって中止されることがある。0
以外の戻り値は、権限とパラメータの検証が成功し、システムがシャットダウン要求を受け入れたことを示す。
> [!NOTE] > winreg.h ヘッダーは InitiateShutdown をエイリアスとして定義し、UNICODE
プリプロセッサ定数の定義に基づいて、この関数の ANSI 版または Unicode
版を自動的に選択する。エンコーディング中立でないコードとエンコーディング中立のエイリアスを混在させると、コンパイルや実行時エラーの原因となる不一致が発生することがある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールadvapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs