次の方法で共有


DIF_REGISTERDEVICE

DIF_REGISTERDEVICE 要求を使用すると、インストーラーは、新しく作成されたデバイス インスタンスを PnP マネージャーに登録できます。 Windows は、PnP 以外のデバイスに対してこの DIF 要求を送信します。

送信時

インストーラーが、DIF_DETECT 要求に応答して以前は不明だったデバイスを報告する場合。 Windows は、デバイスをインストールする前に、ハードウェアの追加ウィザードの分析フェーズでこの DIF 要求を送信します。 Windows では、PnP 以外の検出中にもこの要求が送信されます。

処理するユーザー

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

処理できる

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

取り扱いなし

クラスインストーラー

処理できる

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

DeviceInfoSet
デバイスを格納している デバイス情報セット へのハンドルが提供されます。

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

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

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

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

なし

インストーラーの戻り値

共同インストーラーからは、NO_ERROR または Win32 エラーコードが返ってくる可能性があります。 共同インストーラーからは、この DIF 要求に対し ERROR_DI_POSTPROCESSING_REQUIRED を返すべきではありません。

インストーラーは、デバイスが重複していると判断した場合、ERROR_DUPLICATE_FOUNDを返します。

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

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

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

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

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

インストーラーがデバイスが重複していると判断した場合、インストーラーは ERROR_DUPLICATE_FOUND を返します。

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

SetupDiRegisterDeviceInfo

インストーラー操作

デバイス インストール アプリケーションは通常、PnP 以外のデバイスを PnP マネージャに登録するために、このDIF 要求を送信します。 Microsoft Windows 2000 以降では、PnP 以外のデバイスをインストールする前に登録する必要があります。

インストーラーは通常、この DIF 要求を処理して重複検出を実行します。 このようなインストーラーは、通常、既定のハンドラー (SetupDiRegisterDeviceInfo) を呼び出し、その検出ルーチンを指定します。 登録が成功し、インストーラーがデバイスが重複していないと判断した場合、インストーラーは NO_ERROR を返します。

共同インストーラーは、前処理パスでこの DIF 要求を処理するための操作を実行する必要があります。 後処理のために共同インストーラーが呼び出された場合、デバイス インスタンスはクラス インストーラーまたは既定のハンドラーによって既に登録されています。

インストーラーがこの DIF コード (通常は ERROR_DUPLICATE_FOUND) のエラーを返した場合、Windows はデバイス情報セットからデバイスを削除します。

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

要件

バージョン

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

ヘッダー

Setupapi.h (Setupapi.h を含む)

関連項目

DIF_DETECT

SetupDiRegisterDeviceInfo

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS