次の方法で共有


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 ドライバーのインストール」を参照してください。 CreateServiceGetProcAddress、および LoadLibrary の詳細については、Microsoft Windows SDK のドキュメントを参照してください。

例示

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

必要条件

要件 価値
ターゲット プラットフォーム 普遍
最小 KMDF バージョン 1.9
ヘッダー wdfinstaller.h (Wdfinstaller.h を含む)
図書館 N/A (KMDF 共同インストーラー ライブラリによってエクスポートされます。共同インストーラー ライブラリのファイル名については、「KMDF 共同インストーラーの使用」を参照してください)。

こちらもご覧ください

WdfPostDeviceInstall

WdfPreDeviceInstall