次の方法で共有


DIF_FIRSTTIMESETUP

この DIF コードはシステム用に予約されています。 ベンダーが提供するインストーラーは、インストーラーによって検出される必要がある PnP 以外のデバイスをベンダーが提供しない限り、この要求を処理しないでください。

DIF_FIRSTTIMESETUP 要求は、オペレーティング システムの初期インストール中に完了する必要があるクラス固有のインストール タスクを実行するようにインストーラーに指示します。

送信時

GUI モードのセットアップ中。

処理するユーザー

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

処理できる

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

取り扱いなし

クラスインストーラー

処理できる

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

DeviceInfoSet
デバイス情報セットへの取り扱いを提供します。 DeviceInfoSet に関連付けられているデバイスセットアップクラスがあります。

DeviceInfoData
なし

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

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

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

DeviceInfoSet
インストーラーは、インストールする必要がある検出されたデバイスごとに DeviceInfoSet にデバイス情報要素を追加します。 インストーラーは、グローバル クラス ドライバーの一覧を作成することもできます。

デバイスインストールパラメーター
インストーラーは、DeviceInfoSetまたはデバイスが作成する新しいデバイス情報要素のデバイスインストールパラメーターを変更できます。

インストーラーの戻り値

クラス共同インストーラーは、前処理または後処理中にデバイスを検出できます。 このような共同インストーラーは、(後処理のために) [ERROR_DI_POSTPROCESSING_REQUIRED] を返し、検出操作後に [NO_ERROR] または [Win32] エラーコードを返します。 共同インストーラーがデバイスを検出しない場合は、前処理パスから [NO_ERROR] が返されます。

クラスインストーラーがデバイスを検出すると、[NO_ERROR] または適切な [Win32] エラーコードが返されます。 クラス インストーラーがこの DIF 要求を処理しない場合は、ERROR_DI_DO_DEFAULT を返します。

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

なし

インストーラー操作

GUIモードのセットアップ中に、PnP 以外のデバイスを検出するには、インストーラーが DIF_FIRSTTIME Standard Edition TUP 要求を処理する必要があります。 GUI モードのセットアップでは、インストーラーに DIF_DETECT 要求は送信されません。

GUI モードのセットアップでは、空の DeviceInfoSet を使用して DIF_FIRSTTIMESETUP 要求が送信されます。 インストーラーは、PnP 以外のデバイスのレガシ検出を実行し、DeviceInfoSet に 追加できます。 システム提供のインストーラーは、レガシデバイスのインストールを Windows 9x/Me または Windows NT から Microsoft Windows 2000 以降のバージョンの Windows に移行するときにも、この DIF 要求を処理できます。

インストーラーは、レジストリ情報に基づいて、カーネル モード検出コンポーネントを呼び出すか、オペレーティング システムのアップグレード中に移行 DLL が実行されたときに格納される unattend.txt 情報を参照することによって、セットアップ クラスの新しいデバイスを検出します。

インストーラーが PnP 以外のデバイスを検出した場合、インストーラーは、デバイス情報要素 (SetupDiCreateDeviceInfo) を作成し、SetupDiSetDeviceRegistryProperty を呼び出してSPDRP_HARDWAREID プロパティを設定し、SetupDiBuildDriverInfoList を呼び出して SetupDiCallClassInstaller を呼び出して、DIF_SELECTBESTCOMPATDRV 要求を送信する必要があります。

1 つ以上のインストーラーがこの DIF コードに応答してデバイスを検出した場合、GUI モードのセットアップはデバイスのインストールを試みます。 GUI モードのセットアップでは、リスト内のすべてのデバイスのインストールが試行されます。インストーラーが以前に構成したデバイスを返す場合、GUI モードのセットアップではデバイスが 2 回インストールされます。

インストーラーは、この DIF 要求をサイレント モードで処理する必要があります。 つまり、ユーザーに UI を表示しません。

インストーラーは、コンピューターの再起動を必要とするこの DIF 要求を処理する場合は、タスクを実行しないでください。 たとえば、クラス インストーラーは、再起動後に成功するドライバーを決定するために、次の起動時に読み込むドライバーを設定しないでください。

GUI モードのセットアップ中に PnP 以外のデバイスを検出するには、インストーラーがこの要求を処理する必要があります。 GUI モードのセットアップでは、DIF_DETECT 要求は送信されません。

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

要件

バージョン

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

ヘッダー

Setupapi.h (Setupapi.h を含む)

関連項目

DIF_SELECTBESTCOMPATDRV

SetupDiBuildDriverInfoList

SetupDiCallClassInstaller

SetupDiCreateDeviceInfo

SetupDiSetDeviceRegistryProperty

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS