WTSShutdownSystem 関数 (wtsapi32.h)
指定したリモート デスクトップ セッション ホスト (RD セッション ホスト) サーバーをシャットダウン (および必要に応じて再起動) します。
システムをシャットダウンまたは再起動するには、呼び出し元プロセスで SE_SHUTDOWN_NAME 特権が有効になっている必要があります。 セキュリティ特権の詳細については、「 Privileges and Authorization Constants」を参照してください。
構文
BOOL WTSShutdownSystem(
[in] HANDLE hServer,
[in] DWORD ShutdownFlag
);
パラメーター
[in] hServer
RD セッション ホスト サーバーへの処理。 WTSOpenServer 関数によって開かれたハンドルを指定するか、WTS_CURRENT_SERVER_HANDLEを指定して、アプリケーションが実行されている RD セッション ホスト サーバーを示します。
[in] ShutdownFlag
シャットダウンの種類を示します。 このパラメーターには、次の値のいずれかを指定できます。
WTS_WSD_LOGOFF
すべてのクライアント セッションを強制的にログオフし ( WTSShutdownSystem を呼び出すセッションを除く)、後続のリモート ログオンを無効にします。 これは、シャットダウンする前のステップとして使用できます。 リモート デスクトップ サービス サービスが再起動されると、ログオンが再び有効になります。
この値は、リモート デスクトップ サービス コンソールでのみ使用します。
WTS_WSD_POWEROFF
RD セッション ホスト サーバー上のシステムをシャットダウンし、AC 電源のソフトウェア制御をサポートするコンピューターで電源をオフにします。 これは、EWX_SHUTDOWNとEWX_POWEROFFを使用して ExitWindowsEx を呼び出すことと同じです。 呼び出し元のプロセスでは、 SE_SHUTDOWN_NAME 特権が有効になっている必要があります。
WTS_WSD_REBOOT
RD セッション ホスト サーバーでシステムをシャットダウンしてから再起動します。 これは、EWX_REBOOTを使用して ExitWindowsEx を呼び出すことと同じです。 呼び出し元のプロセスでは、 SE_SHUTDOWN_NAME 特権が有効になっている必要があります。
WTS_WSD_SHUTDOWN
RD セッション ホスト サーバー上のシステムをシャットダウンします。 これは、EWX_SHUTDOWNを使用して ExitWindowsEx 関数を呼び出すことと同じです。 呼び出し元のプロセスでは、 SE_SHUTDOWN_NAME 特権が有効になっている必要があります。
WTS_WSD_FASTREBOOT
この値は現在サポートされていません。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
システムシャットダウンは、すべてのユーザーとアクティブなプログラムを終了します。 シャットダウン中に次の手順が実行されます。
- 終了コマンドは、すべてのアクティブ・ユーザー・アプリケーションに対して発行されます。
- アプリケーションが特定の期間内に終了しない場合、アプリケーションは終了します。
- ユーザーのすべてのアプリケーションが終了すると、ユーザーはログオフされます。
- すべてのユーザーがログオフされると、すべてのシステム・サービスに終了コマンドが発行されます。
- システム サービスが特定の期間内に終了しない場合、サービスは終了します。
- ファイル システム キャッシュはディスクに書き込まれます。
- ディスクは読み取り専用としてマークされます。
- RD セッション ホスト サーバーには、"コンピューターの電源をオフにしても安全です" というメッセージが表示されるか、 WTS_WSD_REBOOT が指定されている場合はシステムが再起動されます。 (すべてのクライアント セッションが終了したため、コンソールにメッセージが表示されます)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | wtsapi32.h |
Library | Wtsapi32.lib |
[DLL] | Wtsapi32.dll |