次の方法で共有


DIF_INSTALLDEVICEFILES

DIF_INSTALLDEVICEFILES 要求を使用すると、インストーラーはファイルのコピーに参加してデバイスをサポートしたり、デバイスのファイルの一覧を作成したりできます。 デバイス ファイルには、選択したドライバー、デバイス インターフェイス、および任意の共同インストーラーのファイルが含まれます。

送信時

システム提供のデバイス インストール コンポーネントは、さまざまな理由でこの DIF 要求を送信します。 一部のデバイス インストール コンポーネントは、DIF_REGISTER_COINSTALLERS、DIF_INSTALLINTERFACES、およびDIF_INSTALL_DEVICE の前に、この DIF 要求を送信して、インストールを続行する前に関連するすべてのファイルを確実にコピーできるようにします。 一部のデバイス インストール コンポーネントでは、この DIF 要求が省略され、これらの 3 つの DIF 要求の処理中にファイルがコピーされることを想定しています。 さらに、一部のデバイス インストール コンポーネントは、この DIF 要求を送信して、デバイスに関連付けられているファイルの一覧を取得します。

処理するユーザー

クラス共同インストーラー

処理できる

デバイス共同インストーラー

取り扱いなし

クラスインストーラー

処理できる

インストーラーによる入力

DeviceInfoSet
サポート ファイルがコピーされるデバイスを含むデバイス情報セット へのハンドルを提供します。

DeviceInfoData
デバイス情報セット内のデバイスを識別する SP_DEVINFO_DATA 構造体へのポインターが提供されます。

デバイスインストールパラメーター
DeviceInfoData に関連付けられているデバイス インストール パラメーター (SP_DEVINSTALL_PARAMS) があります。

DI_NOVCP フラグが設定されている場合、デバイスのインストール パラメーターには有効な FileQueue ハンドルが含まれており、この DIF 要求を処理するインストーラーは、ファイル操作をこのキューに追加し、キューをコミットしません。

クラスインストールパラメーター
なし

インストーラーによる出力

デバイスインストールパラメーター
FileQueue がある場合は、インストーラーで FileQueue を変更できます。

インストーラーの戻り値

共同インストーラーは、NO_ERROR、ERROR_DI_POSTPROCESSING_REQUIRED、または Win32 エラー コードを返すことができます。

クラス インストーラーがこの要求を正常に処理し、その後 SetupDiCallClassInstaller が既定のハンドラーを呼び出す必要がある場合、クラス インストーラーは ERROR_DI_DO_DEFAULT を返します。

既定のハンドラーの直接呼び出しを含め、クラス インストーラーがこの要求を正常に処理した場合、クラス インストーラーは NO_ERROR を返す必要があり、その後 SetupDiCallClassInstaller は既定のハンドラーをもう一度呼び出しません。

注: クラス インストーラーは既定のハンドラーを直接呼び出すことができますが、クラス インストーラーは既定のハンドラーの操作を置き換えようとしないでください。

既定のハンドラーの呼び出しの詳細については、「既定の DIF コード ハンドラーの呼び出し」を参照してください。

クラス インストーラーでエラーが見つかった場合、インストーラーは適切な Win32 エラー コードを返す必要があり、SetupDiCallClassInstaller は既定のハンドラーを呼び出しません。

既定の DIF コードハンドラー

SetupDiInstallDriverFiles

インストーラー操作

DIF_INSTALLDEVICEFILES 要求に応じて、インストーラーは必要なファイル操作を指定します。 たとえば、インストーラーは、デバイスのインストールに必要なコピーする必要のある追加のファイルを指定できます。 DI_NOVCP フラグが設定されている場合、インストーラーは、デバイスのインストール パラメーターで FileQueue にファイル操作を追加することによってファイル操作を指定します。 ファイル キューの使用方法と、SetupInstallFilesFromInfSection などのファイル キュー関数の参照ページについては、「Microsoft Windows SDK」 を参照してください。

デバイスのインストール中にこの DIF 要求が送信され、インストーラーから Microsoft Win32 エラー コードが返された場合、Windows はインストールを停止します。

システム提供のデバイス インストール コンポーネントがこの DIF 要求を送信して、デバイスに関連付けられているファイルの一覧を取得する場合、コンポーネントはファイル キューを取得しますが、キューはコミットしません。

DIF コードの詳細については、「DIF コードの処理」を参照してください。

要件

バージョン

Microsoft Windows 2000 以降のバージョンの Windows でサポートされています。

ヘッダー

Setupapi.h (Setupapi.h を含む)

関連項目

SetupDiInstallDriverFiles

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS