次の方法で共有


DIF_ADDPROPERTYPAGE_ADVANCED

DIF_ADDPROPERTYPAGE_ADVANCED を要求すると、インストーラーによってデバイスに 1 つ以上のカスタム プロパティ ページが提供されるようになります。

送信される場合

ユーザーがデバイス マネージャーまたはコントロール パネルでデバイスの [プロパティ] を選択したとき。

処理するユーザー

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

処理可能

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

処理可能

クラス インストーラー

処理可能

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

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

DeviceInfoData
デバイスの情報セット内でデバイスを識別する SP_DEVINFO_DATA 構造体へのポインターを必要に応じて提供します。 DeviceInfoSetNULL であれば、Windows から デバイス セットアップ クラスのプロパティ ページが要求されます。

デバイス インストール パラメーター
デバイス インストール パラメーター (SP_DEVINSTALL_PARAMS) は、指定されている場合は DeviceInfoDataに、そうでなければ DeviceInfoSetに関連付けられます。

クラス インストール パラメーター
SP_ADDPROPERTYPAGE_DATA の構造体は、指定されている場合は DeviceInfoDataに、そうでなければ DeviceInfoSet に関連づけられます。

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

デバイス インストール パラメーター
インストーラーによってデバイスのインストール パラメーターが変更されることがあります。

クラス インストール パラメーター
インストーラーによる修正で、 SP_ADDPROPERTYPAGE_DATA によってカスタム ページが提供されるようになることがあります。

インストーラーの戻り値

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

クラス インストーラーでは、ページが正常に提供された場合には NO_ERROR が返ってきます。 そうでなければ、ERROR_DI_DO_DEFAULT または Win32 エラー コードが返ってきます。

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

なし

インストーラーの操作

この DIF 要求により、カスタム プロパティ ページを得ることができます。 この DIF 要求を処理することで、クラス インストーラーまたは共同インストーラーからプロパティ ページを得ることができ、別の DLL をプロパティページ プロバイダーとして機能させる必要がなくなります。

通常はインストーラーによって、この DIF 要求を処理しデバイス固有またはセットアップクラス固有の新しいプロパティ ページが追加されます。 また、インストーラーによって、システムにより提供されるドライバー プロパティ ページや、リソース プロパティ ページ、電源プロパティ ページを置き換えることもできます。 システムを通じて得られるページがインストーラーにより置き換えられる場合、インストーラーによってデバイスのインストール パラメーターに以下のような適切なフラグが設定される必要があります。

DI_DRIVERPAGE_ADDED
インストーラーによってドライバーのプロパティ ページが得られました。

DI_RESOURCEPAGE_ADDED
インストーラーによってリソースのプロパティ ページが得られました。

DI_FLAGSEX_POWERPAGE_ADDED
インストーラーによって電源のプロパティ ページが得られました。

インストーラーは、システムにより得られる一般的なプロパティ ページを置き換えることはできません。

Windows では 1 つのデバイスについて、ドライバー ページが 1 つ、リソース ページが 1 つ、電源ページが 1 つだけ表示されます。 以前のインストーラーによってその種類のページが既に得られている場合は、インストーラーによってその代替となるシステム ページが提供されることはありません。 この制約は、システムによって得られたものでないプロパティ ページには適用されません。

共同インストーラーでは、前処理パスにカスタム ページを追加する必要があります。

Windows においてデバイスの削除と再起動を要求するようなプロパティを、インストーラーにおいてユーザーが設定できる場合、インストーラーでは DialogProc ルーチンからデバイス インストール パラメーターに DI_FLAGSEX_PROPCHANGE_PENDING フラグを設定する必要があります。

デバイス プロパティ ページの提供に関する詳細については、「 デバイス プロパティ ページの提供」を参照してください。

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

要件

バージョン

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

ヘッダー

Setupapi.h (Setupapi.h を含む)

関連項目

SP_ADDPROPERTYPAGE_DATA

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS