Win32 API 日本語リファレンス
ホーム › Security.WinWlx › PWLX_MESSAGE_BOX

PWLX_MESSAGE_BOX

コールバック

シグネチャ

INT PWLX_MESSAGE_BOX(
    HANDLE hWlx,
    HWND hwndOwner,
    LPWSTR lpszText,
    LPWSTR lpszTitle,
    DWORD fuStyle
);

パラメーター

フィールド型説明
hWlxHANDLEGINA が WlxInitialize の呼び出しで渡された Winlogon ハンドルを指定します。
hwndOwnerHWND作成するメッセージボックスのオーナーウィンドウを指定します。このパラメーターが NULL の場合、メッセージボックスにはオーナーウィンドウがありません。
lpszTextLPWSTR表示するメッセージを格納した、null で終わる文字列を指します。
lpszTitleLPWSTRダイアログボックスのタイトルに使用する、null で終わる文字列を指します。このパラメーターが NULL の場合、既定のタイトル Error が使用されます。
fuStyleDWORD

ダイアログボックスの内容と動作を指定します。このパラメーターには、次の値の組み合わせを指定できます。

値 意味
MB_ABORTRETRYIGNORE
メッセージボックスには、中止、再試行、無視 の 3 つのコマンドボタンが含まれます。
MB_APPLMODAL
ユーザーは、hWndOwner パラメーターで指定されたウィンドウでの作業を続ける前に、メッセージボックスに応答する必要があります。ただし、他のアプリケーションのウィンドウに移動して作業することはできます。

アプリケーション内のウィンドウの階層によっては、ユーザーがそのアプリケーション内の他のウィンドウに移動できる場合があります。メッセージボックスの親ウィンドウが持つすべての子ウィンドウは自動的に無効になりますが、ポップアップウィンドウは無効になりません。

MB_SYSTEMMODAL と MB_TASKMODAL のいずれも指定されていない場合、MB_APPLMODAL が既定値になります。

MB_DEFAULT_DESKTOP_ONLY
現在入力を受け取っているデスクトップが既定のデスクトップである必要があります。そうでない場合、この関数は失敗します。既定のデスクトップとは、ユーザーがログオンした後にアプリケーションが実行されるデスクトップです。
MB_DEFBUTTON1
1 番目のボタンが既定のボタンになります。MB_DEFBUTTON2 または MB_DEFBUTTON3 が指定されていない限り、常に 1 番目のボタンが既定のボタンになる点に注意してください。
MB_DEFBUTTON2
2 番目のボタンが既定のボタンになります。
MB_DEFBUTTON3
3 番目のボタンが既定のボタンになります。
MB_DEFBUTTON4
4 番目のボタンが既定のボタンになります。
MB_ICONASTERISK
小文字を丸で囲んだアイコンがメッセージボックスに表示されます。
MB_ICONEXCLAMATION
感嘆符のアイコンがメッセージボックスに表示されます。
MB_ICONHAND
手のアイコンがメッセージボックスに表示されます。
MB_ICONINFORMATION
小文字を丸で囲んだアイコンがメッセージボックスに表示されます。
MB_ICONQUESTION
疑問符のアイコンがメッセージボックスに表示されます。
MB_ICONSTOP
停止標識のアイコンがメッセージボックスに表示されます。
MB_OK
メッセージボックスには、OK の 1 つのコマンドボタンが含まれます。
MB_OKCANCEL
メッセージボックスには、OK と キャンセル の 2 つのコマンドボタンが含まれます。
MB_RETRYCANCEL
メッセージボックスには、再試行 と キャンセル の 2 つのコマンドボタンが含まれます。
MB_SERVICE_NOTIFICATION
呼び出し元は、イベントをユーザーに通知するサービスです。この関数は、コンピューターにログオンしているユーザーがいない場合でも、現在アクティブなデスクトップ上にメッセージボックスを表示します。
MB_SETFOREGROUND
メッセージボックスがフォアグラウンドウィンドウになります。内部的には、Windows はそのメッセージボックスに対して SetForegroundWindow 関数を呼び出します。
MB_SYSTEMMODAL
ユーザーがメッセージボックスに応答するまで、すべてのアプリケーションが中断されます。アプリケーションが MB_ICONHAND を指定しない限り、メッセージボックスは作成された後になるまでモーダルになりません。そのため、オーナーウィンドウやその他のウィンドウは、そのアクティブ化によって生じるメッセージを受け取り続けます。システムモーダルのメッセージボックスは、メモリ不足など、直ちに対処が必要で深刻な被害を及ぼす可能性のあるエラーをユーザーに通知するために使用します。
MB_TASKMODAL
MB_APPLMODAL と同じですが、hWndOwner パラメーターが NULL の場合に、現在のタスクに属するすべてのトップレベルウィンドウが無効になる点が異なります。呼び出し元のアプリケーションまたはライブラリが使用できるウィンドウハンドルを持たないものの、他のアプリケーションを中断させずに現在のアプリケーション内の他のウィンドウへの入力を禁止する必要がある場合に、このフラグを使用します。
MB_YESNO
メッセージボックスには、はい と いいえ の 2 つのコマンドボタンが含まれます。
MB_YESNOCANCEL
メッセージボックスには、はい、いいえ、キャンセル の 3 つのコマンドボタンが含まれます。

公式ドキュメント

[WlxMessageBox 関数は、Windows Server 2008 および Windows Vista 以降では使用できません。]

WlxMessageBox 関数は、メッセージボックスを作成、表示、操作するために GINA から呼び出されます。

メモ GINA DLL は Windows Vista では無視されます。

戻り値

関数が失敗した場合、またはメッセージボックスを作成するのに十分なメモリがない場合、戻り値は 0 です。

関数が成功した場合、戻り値は、ダイアログボックスが返す次のメニュー項目値のいずれかです。

メモ メッセージボックスに キャンセル ボタンがある場合、ESC キーが押されたとき、または キャンセル ボタンがクリックされたときに、この関数は IDCANCEL 値を返します。メッセージボックスに キャンセル ボタンがない場合、ESC キーを押しても効果はありません。
戻り値 説明
IDABORT
中止 ボタンが選択されました。
IDCANCEL
キャンセル ボタンが選択されました。
IDIGNORE
無視 ボタンが選択されました。
IDNO
ボタンは選択されませんでした。
IDOK
OK ボタンが選択されました。
IDRETRY
再試行 ボタンが選択されました。
IDYES
はい ボタンが選択されました。

解説(Remarks)

WlxMessageBox 関数は SAS イベントを処理しないため、セキュリティダイアログボックスには適していません。セキュリティダイアログボックスには、 WlxDialogBox、 WlxDialogBoxIndirect、または WlxDialogBoxIndirectParam 関数を使用してください。

WlxMessageBox は Windows の MessageBox 関数と同等ですが、この関数では Winlogon がダイアログボックスをタイムアウトさせることもできる点が異なります。詳細については、 MessageBox を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)