DIF_PROPERTYCHANGE

DIF_PROPERTYCHANGE 要求は、デバイスのプロパティが変更されていることをインストーラーに通知します。 デバイスの有効化、無効化、開始、停止が行われているか、またはプロパティ ページの一部の項目が変更されています。 この DIF 要求により、インストーラーは変更に参加できます。

送信時

デバイスの有効化、無効化、再起動、停止が行われているか、またはそのプロパティが変更されている場合。

たとえば、Windows は、プロパティ ページ プロバイダーがデバイスの SP_DEVINSTALL_PARAMS 構造体の FlagsEx フィールドに DI_FLAGSEX_PROPCHANGE_PENDING フラグを設定するときに、この要求を送信します。

デバイスが初めて起動されたとき、またはその後に再起動されたときの検出の詳細については、「インストーラー操作」セクションを参照してください。

処理するユーザー

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

処理できる

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

処理できる

クラスインストーラー

処理できる

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

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

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

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

クラスインストールパラメーター
SP_PROPCHANGE_PARAMS 構造体は DeviceInfoData に関連付けられています。

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

なし

インストーラーの戻り値

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

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

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

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

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

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

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

SetupDiChangeState

インストーラー操作

DIF_PROPERTYCHANGE 要求に応じて、インストーラーはプロパティ変更操作に参加できます。 クラス インストール パラメーター (SP_PROPCHANGE_PARAMS) は、どの変更が行われているかを示します。

プロパティの変更には、システムの再起動が必要な場合があります。 システムを再起動する方法については、 「SetupDiCallClassInstaller」 を参照してください。

Windows がデバイスを初めてインストールする DIF_INSTALLDEVICE 要求を送信すると、Windows はデバイスを起動しますが、インストールの一部としてDIF_PROPERTYCHANGE 要求を送信しません。 デバイスが初めて起動されたときにカスタム インストール操作を実行する必要があり、その後デバイスが再起動されるたびに、インストーラーまたは共同インストーラーは、デバイスを初めて起動する DIF_INSTALLDEVICE 要求と、状態変更アクションがデバイスが開始されていることを示す DIF_PROPERTYCHANGE 要求を処理する必要があります。

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

要件

バージョン

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

ヘッダー

Setupapi.h (Setupapi.h を含む)

関連項目

SetupDiChangeState

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_PROPCHANGE_PARAMS