WdfPreDeviceInstallEx 関数 (wdfinstaller.h)

[KMDF にのみ適用]

共同インストーラーの WdfPreDeviceInstallEx 関数は、非プラグ アンド プレイ (PnP) ドライバーのインストーラーがドライバーのカーネル モード サービスを作成する前に、共同インストーラーが必要とする可能性のあるすべての操作を実行します。

構文

ULONG WdfPreDeviceInstallEx(
  [in]           LPCWSTR                          InfPath,
  [in, optional] LPCWSTR                          InfSectionName,
  [in]           PWDF_COINSTALLER_INSTALL_OPTIONS ClientOptions
);

パラメーター

[in] InfPath

ドライバーの INF ファイルへのディレクトリ パスを含む null で終わるワイド文字列へのポインター。 ドライバーのインストーラーは、Microsoft Windows SDKで説明されている GetCurrentDirectory を呼び出すことで、この文字列を取得できます。

[in, optional] InfSectionName

ドライバーの INF ファイルに Wdf-install-section 名を含む null で終わるワイド文字列へのポインター。 この名前の詳細については、「 KMDF 共同インストーラーの使用」を参照してください。 このポインターが NULL の場合、共同インストーラーは名前に WdfSection を使用します。

[in] ClientOptions

ドライバー指定のインストール オプションを含む呼び出し元によって割り当てられた WDF_COINSTALLER_INSTALL_OPTIONS型指定構造体へのポインター。

戻り値

操作が成功した場合、WdfPreDeviceInstallEx はERROR_SUCCESSを返します。 それ以外の場合、関数は Winerror.h で定義されている追加のERROR_XXX 値のいずれかを返します。

注釈

PnP 以外のデバイスのフレームワーク ベースドライバーのインストーラーは、インストーラーが CreateService を呼び出す前に WdfPreDeviceInstall または WdfPreDeviceInstallEx を呼び出す必要があります。

共同インストーラーの WdfPreDeviceInstallEx 関数のアドレスを取得するには、インストーラーが LoadLibrary を呼び出して共同インストーラーを読み込んだ後、インストーラーで GetProcAddress を呼び出す必要があります。

共同インストーラーによって、ドライバーのインストールを完了するためにコンピューターを再起動する必要があると判断された場合 (通常は、以前のバージョンのフレームワークが以前にインストールされていたことが原因)、 WdfPreDeviceInstallEx 関数を使用すると、ユーザーにコンピューターの再起動を求めるメッセージを表示するタイミングとするかどうかを制御できます。

  • インストーラーによって、WDF_COINSTALLER_INSTALL_OPTIONS構造体の ShowRebootPrompt メンバーが TRUE に設定されている場合、WdfPreDeviceInstallEx は、コンピューターを再起動する必要があることを PnP マネージャーに通知し、PnP マネージャーは再起動が必要であることをユーザーに求めます。 ShowRebootPrompt メンバーを TRUE に設定することは、WdfPreDeviceInstall を呼び出すことと同じです。
  • インストーラーによって、WDF_COINSTALLER_INSTALL_OPTIONS構造体の ShowRebootPrompt メンバーが FALSE に設定されている場合、WdfPreDeviceInstallEx は PnP マネージャーに再起動が必要であることを通知しません。 代わりに、 関数は ERROR_SUCCESS_REBOOT_REQUIREDを返します。 インストーラーは、コンピューターを再起動するタイミングまたは再起動するかどうかを決定できます。
PnP 以外のデバイスのフレームワーク ベースのドライバーの WdfPreDeviceInstallEx 関数とインストーラーの詳細については、「 非 PnP ドライバーのインストール」を参照してください。 CreateServiceGetProcAddressLoadLibrary の詳細については、Microsoft Windows SDKドキュメントを参照してください。

WdfPreDeviceInstallEx 関数を使用するコード例については、NONPNP サンプルのインストーラーを参照してください。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.9
Header wdfinstaller.h (Wdfinstaller.h を含む)
Library N/A (KMDF 共同インストーラー ライブラリによってエクスポートされます。共同インストーラー ライブラリのファイル名の詳細については、「KMDF 共同インストーラーの使用」を参照してください)。

こちらもご覧ください

WdfPostDeviceInstall

WdfPreDeviceInstall