DIF_DETECT
DIF_DETECT 要求は、特定のクラスの PnP 以外のデバイスを検出し、デバイス情報セットにデバイスを追加するようにインストーラーに指示します。 この要求は、PnP 以外のデバイスに使用されます。
送信時
追加ハードウェアウィザード が、PnP 以外のデバイスを検出している場合。
処理するユーザー
クラス共同インストーラー |
処理できる |
デバイス共同インストーラー |
取り扱いなし |
クラスインストーラー |
処理できる |
インストーラーによる入力
DeviceInfoSet
デバイス情報セットへの取り扱いを提供します。 DeviceInfoSet に関連付けられているデバイスセットアップクラスがあります。
デバイスインストールパラメーター
DeviceInfoSet に関連付けられているパラメーターがあります。
クラスインストールパラメーター
SP_DETECTDEVICE_PARAMS 構造体は DeviceInfoSet に関連付けられています。 パラメーターには、クラスインストーラーが検出操作の進行状況を示すために呼び出すコールバックルーチンが含まれています。
インストーラーによる出力
DeviceInfoSet
インストーラーは、デバイスが以前に検出されてインストールされたかどうかに関係なく、検出した各デバイスの DeviceInfoSet にデバイス情報要素を追加します。
デバイスインストールパラメーター
インストーラーは、DeviceInfoSetまたはデバイスが作成する新しいデバイス情報要素のデバイスインストールパラメーターを変更できます。
インストーラーの戻り値
共同インストーラーがデバイスを検出しない場合は、前処理パスから [NO_ERROR] が返されます。 共同インストーラーがデバイスを検出した場合は、前処理または後処理中にデバイスを検出し、[NO_ERROR] または [Win32] エラーコードを返すことができます。
クラスインストーラーがデバイスを検出すると、[NO_ERROR] または適切な [Win32] エラーコードが返されます。 クラス インストーラーがこの DIF 要求を処理しない場合は、[ERROR_DI_DO_DEFAULT] を返します。
既定の DIF コードハンドラー
なし
インストーラー操作
DIF_DETECT 要求に応じて、インストーラーはセットアップクラスのデバイスを検出できます。
インストーラーがデバイスを検出した場合は、少なくとも以下のことを行う必要があります。
検出に著しい時間がかかる可能性がある場合は、SP_DETECTDEVICE_PARAMS クラスのインストールパラメーターで DetectProgressNotify コールバックルーチンを呼び出します。
インストーラーが検出するデバイスごとに、以下のことが必要です。
デバイス情報要素( SetupDiCreateDeviceInfo )を作成します。
ドライバーの選択に関する情報を指定します。
インストーラーは、デバイスのドライバーを手動で選ぶか、インストーラーは、Windows がデバイスのINFを検索するために使用するデバイスのハードウェア ID を設定できます。 インストーラーは、プロパティ値が SPDRP_HARDWAREID で、SetupDiSetDeviceRegistryPropertyを呼び出すことによってハードウェア ID を設定します。
場合によっては、いくつかのデバイスインストールパラメーターを設定します。
検出に成功した場合は、[NO_ERROR] を返すか、[Win32] エラーコードを返します。
1つ以上のインストーラーがこの DIF コードに応答してデバイスを検出した場合、Windows は検出されたデバイスの一覧を現在のデバイスの一覧と比較します。 インストーラーによって新しいデバイスが検出された場合、Windows はデバイスのインストールを試みます。 インストーラーがセットアップの一覧に表示されるデバイスを省略した場合、Windowsは通常、デバイスを削除します。
GUIモードのセットアップ中に、PnP 以外のデバイスを検出するには、インストーラーが DIF_FIRSTTIME Standard Edition TUP 要求を処理する必要があります。 GUI モードのセットアップでは、インストーラーに DIF_DETECT 要求は送信されません。
DIF コードの詳細については、「DIF コードの処理」を参照してください。
要件
バージョン |
Microsoft Windows 2000 以降のバージョンの Windows でサポートされています。 |
ヘッダー |
Setupapi.h (Setupapi.h を含む) |