ShutdownBlockReasonCreate 関数 (winuser.h)

システムをシャットダウンできないことを示し、システムのシャットダウンが開始された場合にユーザーに表示される理由文字列を設定します。

構文

BOOL ShutdownBlockReasonCreate(
  [in] HWND    hWnd,
  [in] LPCWSTR pwszReason
);

パラメーター

[in] hWnd

アプリケーションのメイン ウィンドウへのハンドル。

[in] pwszReason

アプリケーションがシステムのシャットダウンをブロックする必要がある理由。 この文字列は、MAX_STR_BLOCKREASON文字の後に表示目的で切り捨てられます。

戻り値

呼び出しが成功した場合、戻り値は 0 以外です。

呼び出しが失敗した場合、戻り値は 0 です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

この関数は、 hWnd パラメーターで指定されたウィンドウを作成したスレッドからのみ呼び出すことができます。 それ以外の場合、関数は失敗し、最後のエラー コードはERROR_ACCESS_DENIED。

アプリケーションは、CD や DVD の書き込みなど、中断できない操作を開始する際に、この関数を呼び出す必要があります。 操作が完了したら、 ShutdownBlockReasonDestroy 関数を呼び出して、システムをシャットダウンできることを示します。

通常、ユーザーはシステムをシャットダウンするときに急いでいます。そのため、システムによって表示されるシャットダウンの理由を確認するのに数秒しか費やされないことがあります。 したがって、理由文字列が短く明確であることが重要です。 たとえば、"CD の書き込みが進行中です" は、"このアプリケーションは、CD の書き込みが進行中であるため、システムのシャットダウンをブロックしています" よりも優れています。 シャットダウンしないでください。"

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-misc-l1-1-0 (Windows 8 で導入)

こちらもご覧ください

ShutdownBlockReasonDestroy

シャットダウン