次の方法で共有


SetupDiGetActualSectionToInstallA 関数 (setupapi.h)

SetupDiGetActualSectionToInstall 関数は、ローカル コンピューター上のデバイス INF ファイルからデバイスをインストールするときに使用、適切な INF DDInstall セクションを取得します。

構文

WINSETUPAPI BOOL SetupDiGetActualSectionToInstallA(
  [in]            HINF   InfHandle,
  [in]            PCSTR  InfSectionName,
  [out, optional] PSTR   InfSectionWithExt,
  [in]            DWORD  InfSectionWithExtSize,
  [out, optional] PDWORD RequiredSize,
  [out, optional] PSTR   *Extension
);

パラメーター

[in] InfHandle

DDInstall セクションを含む INF ファイルへのハンドル。

[in] InfSectionName

DDInstall セクション名へのポインター (INF Models セクションで指定)。 セクション名の最大長 (文字数) は 254 です。

[out, optional] InfSectionWithExt

DDInstall セクション名、そのプラットフォーム拡張機能、および NULL ターミネータを受け取る文字バッファーへのポインター。 これは、インストールに使用する必要がある装飾セクション名です。 このパラメーターが NULL場合は、InfSectionWithExtSize 0 にする必要があります。 このパラメーターが NULL場合、関数は TRUE 返し、requiredSize を、DDInstall セクション名、そのプラットフォーム拡張機能、および終了 NULL 文字を返すために必要なサイズ (文字数) に設定します。

[in] InfSectionWithExtSize

InfSectionWithExt バッファーのサイズ (文字数)。 InfSectionWithExt が NULL場合、このパラメーターは 0 にする必要があります。

[out, optional] RequiredSize

DDInstall セクション名、プラットフォーム拡張機能、および終了 NULL 文字を返すために必要なサイズを文字で受け取る変数へのポインター。

[out, optional] Extension

InfSectionWithExt バッファー内の拡張機能の先頭をマークする '.' 文字へのポインターを受け取る変数へのポインター。 InfSectionWithExt バッファーが指定されていないか、小さすぎる場合、このパラメーターは設定されません。 拡張機能へのポインターが必要ない場合は、このパラメーターを NULL を に設定します。

戻り値

関数が成功した場合は、TRUE返します。 関数が失敗した場合は、FALSE返します。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

この関数は、デバイスの OS 固有のインストール動作とアーキテクチャ固有のインストール動作を指定するために使用される DDInstall セクション名を する拡張機能をサポートします。 これらの拡張機能の詳細については、「複数のプラットフォームおよびオペレーティング システム用の INF ファイルの作成」を参照してください。 SetupDiGetActualSectionToInstall は、以下で説明する方法でローカル コンピューターと一致する DDInstall セクション名を検索します。

この関数は、最初に、指定した INF ファイル内で、指定された名前に一致し、ローカル コンピューターのオペレーティング システムとプロセッサ アーキテクチャに一致する拡張子を持つ装飾インストール セクション名を検索します。 たとえば、InstallSecのセクション名 指定した場合、関数はローカル コンピューターのプロセッサ アーキテクチャに応じて、次のいずれかの修飾名を検索します。

  • x86 プロセッサ アーキテクチャに基づくコンピューターの場合、関数は InstallSec.ntx86修飾名を検索します。
  • x64 プロセッサ アーキテクチャに基づくコンピューターの場合、関数は InstallSec.ntamd64修飾名を検索します。
  • Itanium プロセッサ アーキテクチャに基づくコンピューターの場合、関数は InstallSec.ntia64修飾名を検索します。
関数は、名前、オペレーティング システム、およびプロセッサ アーキテクチャの一致を検出すると、検索を終了し、対応する修飾名を返します。 関数がこのような一致を見つけられない場合、関数は InstallSec.NT名前のセクションを検索します。 関数が InstallSec.NT一致するものを検出すると、検索が終了し、この名前が返されます。 関数は、上記の検索のいずれかに一致するものが見つからない場合、InstallSec返しますが、名前が InstallSecインストール セクションが INF ファイルに含まれていることは確認しません。

DDInstall セクション名は、ハードウェア および Services セクション名のベースとして使用されます。 たとえば、見つかった DDInstall セクション名が InstallSec.NTX86場合、Services セクション名は InstallSec.NTX86.Services名前にする必要があります。

ドライバー ノードで指定された元の DDInstall セクション名は、ドライバーのレジストリ キーの InfSection 値エントリに書き込まれます。 見つかった拡張機能は、InfSectionExtREG_SZ値としてキーに格納されます。 例えば:

InfSection       : REG_SZ :    "InstallSec"
InfSectionExt    : REG_SZ :    ".NTX86"

指定したデバイス情報要素に対してドライバーが選択されていない場合は、null ドライバーがインストールされます。 戻ると、デバイスの SP_DEVINSTALL_PARAMS 構造体のフラグは、システムを再起動するか再起動してデバイスを起動するかを示します。

手記

setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupDiGetActualSectionToInstall を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム の デスクトップ
ヘッダー setupapi.h (Setupapi.h を含む)
ライブラリ Setupapi.lib

関連項目

INF DDInstall セクション

SetupDiGetActualSectionToInstallEx の

SetupDiInstallDevice の