次の方法で共有


SetupGetMultiSzFieldA 関数 (setupapi.h)

[この機能は、「要件」セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、アプリケーション インストーラーを開発するために Windows インストーラーを使用します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。]

SetupGetMultiSzField 関数は、指定されたフィールドから行の末尾まで、INF ファイルの行に格納されている複数の文字列を取得します。

構文

WINSETUPAPI BOOL SetupGetMultiSzFieldA(
  [in]      PINFCONTEXT Context,
  [in]      DWORD       FieldIndex,
  [in, out] PSTR        ReturnBuffer,
  [in]      DWORD       ReturnBufferSize,
  [in]      LPDWORD     RequiredSize
);

パラメーター

[in] Context

INF ファイル内の行のコンテキストへのポインター。

[in] FieldIndex

文字列の取得元となる指定した行内の開始フィールドの 1 から始まるインデックス。 文字列リストは、この時点から行の末尾まで、各フィールドから作成されます。 この関数では、 FieldIndex が 0 の場合は無効です。

[in, out] ReturnBuffer

文字列を受け取る文字バッファーへのオプションのポインター。 各文字列は null で終わり、文字列リストの末尾に余分な null が付きます。 null で終わる文字列は、宛先バッファーのサイズを超えてはなりません。 関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、2 回目に関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。 「解説」を参照してください。 このパラメーターは、NULL でもかまいません。

[in] ReturnBufferSize

ReturnBuffer が指すバッファーのサイズ (文字単位)。 これには 、null ターミネータが含まれます。

[in] RequiredSize

ReturnBuffer が指すバッファーに必要なサイズを文字で受け取る変数への省略可能なポインター。 これには 、null ターミネータが含まれます。 必要なサイズが ReturnBufferSize で指定された値より大きい場合、関数は失敗し、 GetLastError の呼び出しはERROR_INSUFFICIENT_BUFFERを返します。

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

この関数が NULLReturnBuffer で呼び出され、ReturnBufferSize が 0 の場合、この関数は、指定されたデータを保持するために必要なバッファー サイズを RequiredSize が指す変数に格納します。 こので関数が成功した場合、戻り値は 0 以外の値になります。 それ以外の場合、戻り値は 0 で、 GetLastError を呼び出すことで拡張エラー情報を取得できます。

SetupGetMultiSzField を使用して INF 行の文字列値を反復処理しないでください。 代わりに、 SetupGetStringField を使用する必要があります。 SetupGetMultiSzField は、REG_MULTI_SZ形式の値を返します。 これは、 余分な null 文字で終わる null で終わる文字列の配列です。 この形式では、長さ 0 の文字列は使用できません。 文字列のリストに長さ 0 の文字列が含まれている場合、 SetupGetMultiSzField は最初の空の文字列値を検出すると、途中でを返します。

注意

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

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー setupapi.h
Library Setupapi.lib
[DLL] Setupapi.dll
API セット ext-ms-win-setupapi-inf-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

関数

概要

SetupGetBinaryField

SetupGetIntField

SetupGetStringField