次の方法で共有


INSTALLUI_HANDLER_RECORD コールバック関数 (msi.h)

INSTALLUI_HANDLER_RECORD関数プロトタイプは、インストーラーが進行状況通知とエラー メッセージを呼び出すコールバック関数を定義します。 MsiSetExternalUIRecord 関数を呼び出して、レコードベースの外部ユーザー インターフェイス (UI) ハンドラーを有効にします。

Windows インストーラー 3.0 と Windows インストーラー 2.0: サポートされていません。 Windows インストーラー バージョン 3.1 以降で使用できます。

構文

INSTALLUI_HANDLER_RECORD InstalluiHandlerRecord;

int InstalluiHandlerRecord(
  LPVOID pvContext,
  UINT iMessageType,
  MSIHANDLE hRecord
)
{...}

パラメーター

pvContext

MsiSetExternalUIRecord 関数に渡されるアプリケーション コンテキストへのポインター。 このパラメーターは、エラー チェックに使用できます。

iMessageType

1 つのメッセージ ボックス スタイル、1 つのメッセージ ボックス アイコンの種類、1 つの既定のボタン、1 つのインストール メッセージの種類の組み合わせを指定します。 このパラメーターは、次のいずれかである必要があります。

メッセージ ボックスのスタイルフラグ 意味
MB_ABORTRETRYIGNORE
メッセージ ボックスには、[ 中止]、[ 再試行]、[ 無視 ] の各ボタンが表示されます。
MB_OK
メッセージ ボックスに [OK] ボタンが表示されます。 既定値です。
MB_OKCANCEL
メッセージ ボックスには、[ OK] ボタンと [キャンセル] ボタンが含まれています。
MB_RETRYCANCEL
メッセージ ボックスには、[ 再試行 ] ボタンと [キャンセル] ボタンが含まれています。
MB_YESNO
メッセージ ボックスには、[ はい ] ボタンと [いいえ] ボタンが含まれています。
MB_YESNOCANCEL
メッセージ ボックスには、[ はい]、[ いいえ]、[ キャンセル] ボタンが含まれています。
 
メッセージ ボックス IconTypesFlag 意味
MB_ICONEXCLAMATION、MB_ICONWARNING
感嘆符がメッセージ ボックスに表示されます。
MB_ICONINFORMATION、MB_ICONASTERISK
情報記号がメッセージ ボックスに表示されます。
MB_ICONQUESTION
メッセージ ボックスに疑問符が表示されます。
MB_ICONSTOP、MB_ICONERROR、MB_ICONHAND
メッセージ ボックスに停止記号が表示されます。
 
既定の ButtonsFlag 意味
MB_DEFBUTTON1
最初のボタンは既定のボタンです。
MB_DEFBUTTON2
2 番目のボタンは既定のボタンです。
MB_DEFBUTTON3
3 番目のボタンは既定のボタンです。
 
メッセージ TypesFlag をインストールする 意味
INSTALLMESSAGE_FATALEXIT
早期終了
INSTALLMESSAGE_ERROR
書式設定されたエラー メッセージ
INSTALLMESSAGE_WARNING
書式設定された警告メッセージ
INSTALLMESSAGE_USER
ユーザー要求メッセージ。
INSTALLMESSAGE_INFO
ログに関する情報メッセージ
INSTALLMESSAGE_FILESINUSE
置き換える前に閉じる必要がある現在使用中のファイルの一覧
INSTALLMESSAGE_RESOLVESOURCE
有効なソースの場所を決定する要求
INSTALLMESSAGE_RMFILESINUSE
置き換える前に閉じる必要がある現在使用中のファイルの一覧。 Windows インストーラー バージョン 4.0 以降で使用できます。 詳細については、「外部 UI での Restart Manager の使用」を参照してください。
INSTALLMESSAGE_OUTOFDISKSPACE
ディスク領域が不足しているというメッセージ
INSTALLMESSAGE_ACTIONSTART
アクション メッセージの開始。 このメッセージには、アクション名と説明が含まれています。
INSTALLMESSAGE_ACTIONDATA
個々のアクション アイテムに関連付けられている書式設定されたデータ。
INSTALLMESSAGE_PROGRESS
進行状況ゲージの情報。 このメッセージには、これまでのユニットと合計ユニット数に関する情報が含まれています。
INSTALLMESSAGE_COMMONDATA
ユーザー インターフェイスの書式設定されたダイアログ情報。
INSTALLMESSAGE_INITIALIZE
UI の初期化前に送信され、文字列データはありません
INSTALLMESSAGE_TERMINATE
UI の終了後に送信され、文字列データはありません
INSTALLMESSAGE_SHOWDIALOG
作成されたダイアログまたはウィザードの表示前に送信される
INSTALLMESSAGE_INSTALLSTART
製品のインストール前に送信されます。
INSTALLMESSAGE_INSTALLEND
製品のインストール後に送信されます。
 
 

上記のメッセージのいずれかが見つからない場合は、次の既定値を使用する必要があります。MB_OK、アイコンなし、MB_DEFBUTTON1。 既定のインストール メッセージの種類はありません。メッセージの種類は常に指定されます。

hRecord

レコード オブジェクトへのハンドルを指定します。 レコード オブジェクトの詳細については、「 レコード処理関数」を参照してください。

戻り値

次の戻り値は、メッセージ ボックス スタイルで指定されたボタンにマップされます。

IDOK

 
IDCANCEL
 
IDABORT
 
IDRETRY
 
IDIGNORE
 
IDYES
 
IDNO

注釈

この種類の外部 UI ハンドラーは、呼び出し元が関心のあるエラーまたはメッセージの種類がわかっている場合に使用する必要があります。また、INSTALLUI_HANDLER型の外部 UI ハンドラーに送信される文字列メッセージを解析するオーバーヘッドを回避し、hRecord のフィールドから目的のデータを取得する必要があります。

外部ユーザー インターフェイス ハンドラーから値を返す方法の詳細については、「外部ユーザー インターフェイス ハンドラー から値を返す 」トピックを参照してください。 レコード ベースの外部 UI ハンドラーに送信される hRecord オブジェクトは、Windows インストーラーによって所有され、コールバックの有効期間に対してのみ有効です。 コールバックは、必要なデータをレコードから抽出し、そのハンドルを閉じないようにする必要があります。

レコード ベースの外部 UI ハンドラーが hRecord オブジェクト内のデータを変更しようとすると、Windows インストーラーは無視されます。

レコード ベースの外部ハンドラーの使用について詳しくは、「MsiSetExternalUIRecord を使用したインストールの監視」をご覧ください。

要件

要件
サポートされている最小のクライアント Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー 3.1。
対象プラットフォーム Windows
ヘッダー msi.h

こちらもご覧ください

MsiSetExternalUI

Windows Installer 3.0 以前でのサポート対象外