DIF_INSTALLINTERFACES
DIF_INSTALLINTERFACES 要求を使用すると、インストーラーはデバイスのデバイス インターフェイスの登録に参加できます。
送信時
デバイスの共同インストーラーを登録した後、デバイスのインストールを完了する前。
処理するユーザー
クラス共同インストーラー |
処理できる |
デバイス共同インストーラー |
処理できる |
クラスインストーラー |
処理できる |
インストーラーによる入力
DeviceInfoSet
デバイスを格納している デバイス情報セット へのハンドルが提供されます。
DeviceInfoData
デバイス情報セット内のデバイスを識別する SP_DEVINFO_DATA 構造体へのポインターが提供されます。
デバイスインストールパラメーター
DeviceInfoData に関連付けられているデバイス インストール パラメーター (SP_DEVINSTALL_PARAMS) があります。
インストーラーによる出力
デバイスインストールパラメーター
インストーラーは、デバイスのインストール パラメーターを変更する可能性がありますが、通常は、この DIF 要求では変更されません。
インストーラーの戻り値
共同インストーラーは、NO_ERROR、ERROR_DI_POSTPROCESSING_REQUIRED、または Win32 エラー コードを返すことができます。
クラス インストーラーがこの要求を正常に処理し、その後 SetupDiCallClassInstaller が既定のハンドラーを呼び出す必要がある場合、クラス インストーラーは ERROR_DI_DO_DEFAULT を返します。
既定のハンドラーの直接呼び出しを含め、クラス インストーラーがこの要求を正常に処理した場合、クラス インストーラーは NO_ERROR を返す必要があり、その後 SetupDiCallClassInstaller は既定のハンドラーをもう一度呼び出しません。
注: クラス インストーラーは既定のハンドラーを直接呼び出すことができますが、クラス インストーラーは既定のハンドラーの操作を置き換えようとしないでください。
既定のハンドラーの呼び出しの詳細については、「既定の DIF コード ハンドラーの呼び出し」を参照してください。
クラス インストーラーでエラーが見つかった場合、インストーラーは適切な Win32 エラー コードを返す必要があり、SetupDiCallClassInstaller は既定のハンドラーを呼び出しません。
既定の DIF コードハンドラー
SetupDiInstallDeviceInterfaces
インストーラー操作
DIF_INSTALLINTERFACES 要求に応じて、インストーラーは、INF ファイルを介してインターフェイスを登録するのではなく、プログラムによってデバイス インターフェイスを登録する場合があります。 通常、ベンダーが提供するインストーラーは、この DIF 要求を処理しません。
DI_NOFILECOPY フラグが設定されていない限り、この DIF 要求を処理するインストーラーは、デバイス インターフェイスに必要なファイルをコピーする必要があります。
DI_NOFILECOPY フラグがクリアされていても、DI_NOVCP フラグが設定されている場合、インストーラーは指定されたファイル キューにファイル操作をエンキューする必要がありますが、キューをコミットすることはできません。
インストーラーがデバイス インターフェイスを登録する場合、デバイスのカーネル モード コンポーネント (ドライバーなど) は、インターフェイスを有効にするために IoSetDeviceInterfaceState を呼び出す必要があります。
インストーラーから Win32 エラー コードが返された場合、Windows はインストールを中止します。
DIF コードの詳細については、「DIF コードの処理」を参照してください。
要件
バージョン |
Microsoft Windows 2000 以降のバージョンの Windows でサポートされています。 |
ヘッダー |
Setupapi.h (Setupapi.h を含む) |