次の方法で共有


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 を含む)

関連項目

SetupDiInstallDeviceInterfaces

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS