DIF_FINISHINSTALL_ACTION
DIF_FINISHINSTALL_ACTION 要求を使用すると、インストーラーは、他のすべてのデバイスインストール操作が完了した後、対話型の管理者コンテキストでインストール完了アクションを実行できます。
送信時
Windows 8 以降のバージョンでは、インストールの完了操作はデバイスのインストールの一部として自動的に実行されません。 デバイスのインストールの完了操作を完了するには、ユーザーがアクションセンターで [デバイスソフトウェアのインストールを完了する] をクリックしてインストールを完了する必要があります。
詳細については、「Finish-Install アクションの実行」を参照してください。
Windows 7 では、インストールの完了プロセスは、管理者の資格情報を持つユーザーのコンテキストでのみ、次のいずれかの時点で実行されます。
- 次回、デバイスが接続されている間に管理者の資格情報を持つユーザーがログオンします。
- デバイスが再アタッチされたとき。
- ユーザーが [デバイスマネージャーでハードウェアの変更をスキャンする] を選んだとき。
ユーザーが管理者特権なしでサインインしている場合、Windows は管理者コンテキストでインストール完了アクションを実行するための同意と資格情報をユーザーに求めるプロンプトを表示します。
処理するユーザー
クラス共同インストーラー |
処理できる |
デバイス共同インストーラー |
処理できる |
クラスインストーラー |
処理できる |
インストーラーによる入力
DeviceInfoSet
デバイスを格納している デバイス情報セット への処理が提供されます。
DeviceInfoData
インストールされているデバイスを表す SP_DEVINFO_DATA 構造体へのポインター。
デバイスインストールパラメーター
DeviceInfoData に関連付けられているデバイス インストール パラメーター (SP_DEVINSTALL_PARAMS) 構造があります。
インストーラーによる出力
デバイスインストールパラメーター
インストーラーは、インストールの完了にシステムの再起動が必要な場合、DI_N Enterprise Edition DREBOOT フラグを設定します。
インストーラーの戻り値
インストーラーは、次の表に示す値のいずれかを返します。
戻り値 | 説明 |
---|---|
ERROR_DI_DO_DEFAULT |
クラスインストーラー: インストーラーにインストール完了アクションがない、インストール完了アクションが正常に完了した、またはインストール完了アクションを正常に完了できないと判断しました。 デバイスのインストールでは、要求の既定の処理を実行する必要があります。 共同インストーラー: 共同インストーラーは、このエラー コードを返してはなりません。 |
NO_ERROR |
クラス インストーラー: クラス インストーラーは、このエラーコードを返すべきではありません。 クラスインストーラーがこのエラー コードを返した場合、デバイスのインストールでは要求の既定の処理は実行されません。 共同クラスインストーラー: インストーラーにインストール完了アクションがない、インストール完了アクションが正常に完了した、またはインストール完了アクションを正常に完了できないと判断しました。 |
Win32 エラー コード |
クラス インストーラーまたは共同インストーラー: インストーラーで、インストールの完了アクションの処理中にエラーが発生しました。デバイスのインストールは、次回デバイスが管理者のコンテキストで列挙されるときに、インストールの完了アクションの完了を試みる必要があります。 |
既定の DIF コードハンドラー
Windows 7 では、SetupDiFinishInstallAction が使用 されます。
Windows 8 以降のバージョンには既定の DIF コード ハンドラーがなく、SetupDiFinishInstallAction が削除されました。
コメント
デバイスのインストールは、[ERROR_DI_DO_DEFAULT] リターン コードまたは [NO_ERROR] リターンコードから、インストール完了アクションが実際に成功したかどうかを判断できないため、インストーラーは、インストーラー完了アクションのステータスをユーザーに通知する必要があります。
インストールの完了操作の詳細については、「デバイス インストール プロセスのインストール完了アクションとインストール完了アクションの実装」を参照してください。
DIF コードの一般的な情報については、「DIF コードの処理と既定の DIF コード ハンドラーの呼び出し」を参照してください。
要件
バージョン |
Windows Vista から Windows 7 でサポートされます。 |
ヘッダー |
Setupapi.h (Setupapi.h を含む) |