SetupDiGetActualSectionToInstallExA 関数 (setupapi.h)

SetupDiGetActualSectionToInstallEx 関数は、指定したオペレーティング システムとプロセッサ アーキテクチャ用のデバイスをインストールする INF DDInstall セクションの名前を取得します。

構文

WINSETUPAPI BOOL SetupDiGetActualSectionToInstallExA(
  [in]            HINF                 InfHandle,
  [in]            PCSTR                InfSectionName,
  [in, optional]  PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
  [out, optional] PSTR                 InfSectionWithExt,
  [in]            DWORD                InfSectionWithExtSize,
  [out, optional] PDWORD               RequiredSize,
  [out, optional] PSTR                 *Extension,
                  PVOID                Reserved
);

パラメーター

[in] InfHandle

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

[in] InfSectionName

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

[in, optional] AlternatePlatformInfo

null 以外の場合は、SP_ALTPLATFORM_INFO構造体へのポインター。 この構造は、ローカル コンピューター上とは異なるオペレーティング システムとプロセッサ アーキテクチャを指定するために使用されます。 ローカル コンピューターの DDInstall セクション名を取得するには、このパラメーターを NULL に設定 します。 それ以外の場合は、SP_ALTPLATFORM構造体を指定し、そのメンバーを次のように設定します。

cbSize

SP_ALTPLATFORM_INFO構造体のサイズ (バイト単位) に設定します。

プラットフォーム

Windows XP 以降のバージョンの Windows のVER_PLATFORM_WIN32_NTに設定します。

MajorVersion

使用されていません。

MinorVersion

使用されません。

ProcessorArchitecture

次のいずれかのプロセッサ アーキテクチャ定数を設定します。

プロセッサ アーキテクチャ定数 意味
PROCESSOR_ARCHITECTURE_INTEL 代替プラットフォームは、x86 ベースのプロセッサ アーキテクチャです。
PROCESSOR_ARCHITECTURE_IA64 代替プラットフォームは、Itanium ベースのプロセッサ アーキテクチャです。
PROCESSOR_ARCHITECTURE_AMD64 代替プラットフォームは、x64 ベースのプロセッサ アーキテクチャです。
 

予約済み

0 に設定します。

[out, optional] InfSectionWithExt

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

[in] InfSectionWithExtSize

InfSectionWithExt パラメーターが指すバッファーのサイズ (文字数)。 NULL で終わる INF セクション名の最大長 (文字数) はMAX_INF_SECTION_NAME_LENGTH。

[out, optional] RequiredSize

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

[out, optional] Extension

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

Reserved

内部使用専用に予約されています。 NULL に設定する必要があります。

戻り値

関数が成功すると、 TRUE が返されます。 それ以外の場合は、 FALSE を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

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

SetupDiGetActualSectionToInstallEx の呼び出しで代替プラットフォーム情報を指定しない場合、関数は SetupDiGetActualSectionToInstall と同じ操作を実行します。 後者の関数は、ローカル コンピューターのプラットフォーム情報を使用して、指定されたインストール セクション名を検索します。

SetupDiGetActualSectionToInstallEx の呼び出しで代替プラットフォーム情報を指定すると、関数は次の処理を行います。

  • VER_PLATFORM_WIN32_NTのプラットフォームを指定した場合、関数は最初に指定した INF ファイル内で、指定した名前、オペレーティング システム、およびプロセッサ アーキテクチャに一致する装飾されたインストール セクション名を検索します。 たとえば、 InstallSec のインストール セクション名を指定した場合、関数は、指定されたプロセッサ アーキテクチャに応じて、次のいずれかの修飾名を検索します。
    • x86 ベースのプロセッサ アーキテクチャを指定すると、関数は 修飾名 InstallSec.ntx86 を検索します。
    • x64 ベースのプロセッサ アーキテクチャを指定すると、関数は 装飾名 InstallSec.ntamd64 を検索します。
    • Itanium ベースのプロセッサ アーキテクチャを指定すると、関数は 装飾名 InstallSec.ntia64 を検索します。

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

注意

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

要件

要件
サポートされている最小のクライアント Windows XP 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib

こちらもご覧ください

INF DDInstall セクション

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice