SetupGetStringFieldA 関数 (setupapi.h)
[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 以降のバージョンでは、変更または使用できない場合があります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。
SetupGetStringField 関数は、INF ファイル内の行の指定されたフィールドから文字列を取得します。
構文
WINSETUPAPI BOOL SetupGetStringFieldA(
[in] PINFCONTEXT Context,
[in] DWORD FieldIndex,
[in, out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out] PDWORD RequiredSize
);
パラメーター
[in] Context
INF ファイル内の行のコンテキストへのポインター。
[in] FieldIndex
文字列の取得元となる指定した行内のフィールドの 1 から始まるインデックス。 FieldIndex 0 を使用して、文字列キー (存在する場合) を取得します。
[in, out] ReturnBuffer
null-terminated 文字列を受け取るバッファーへの省略可能なポインター。 コピー先バッファーのサイズがソース バッファーと同じか大きいことを確認する必要があります。 このパラメーターは NULL
[in] ReturnBufferSize
ReturnBuffer
[out] RequiredSize
ReturnBuffer パラメーターが指すバッファーに必要なサイズを受け取る変数への省略可能なポインター (文字単位)。
ReturnBuffer が指定されており、必要な実際のサイズが ReturnBufferSize で指定された値より大きい場合、関数は失敗し、バッファーに文字列を格納しません。 この場合、GetLastError を
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError
備考
この関数が null
関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、もう一度関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。
INF 文字列セクションで指定された 1 つの文字列の最大長は 512 文字であることに注意してください。終端 NULLを含みます。 文字列の長さが 512 を超える場合は切り捨てられ、エラーは返されません。 1 つ以上の %strkey% トークンから作成された連結文字列の最大長は 4096 文字です。
手記
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupGetStringField を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | setupapi.h |
ライブラリ | Setupapi.lib |
DLL | Setupapi.dll |
API セットの | ext-ms-win-setupapi-inf-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入) |
関連項目
SetupGetBinaryField の
SetupGetIntField の