SetupGetLineTextA 関数 (setupapi.h)
[この機能は、「要件」セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、アプリケーション インストーラーを開発するために Windows インストーラーを使用します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。]
SetupGetLineText 関数は、INF ファイル内の行の内容をコンパクトな形式で返します。 取得する行は、SetupFindLineXXX 関数から返される INFCONTEXT 構造体、または目的の行の INF ハンドル、セクション、およびキーを明示的に渡すことによって指定できます。
構文
WINSETUPAPI BOOL SetupGetLineTextA(
[in] PINFCONTEXT Context,
[in] HINF InfHandle,
[in] PCSTR Section,
[in] PCSTR Key,
[in, out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[in, out] PDWORD RequiredSize
);
パラメーター
[in] Context
テキストを取得する INF ファイル内の行のコンテキスト。 このパラメーターは、NULL でもかまいません。 Context が NULL の場合は、InfHandle、Section、Key をすべて指定する必要があります。
[in] InfHandle
クエリを実行する INF ファイルを処理します。 このパラメーターは、NULL でもかまいません。 このパラメーターは、 Context が NULL の場合にのみ使用されます。 Context が NULL の場合は、InfHandle、Section、Key をすべて指定する必要があります。
[in] Section
テキストを取得する行のキー名を含むセクションを指定する null で終わる文字列へのポインター。 このパラメーターは、NULL でもかまいません。 このパラメーターは、 Context が NULL の場合にのみ使用されます。 Context が NULL の場合は、InfHandle、Section、Key を指定する必要があります。
[in] Key
関連付けられた文字列を取得するキー名を含む null で終わる文字列へのポインター。 このパラメーターは、NULL でもかまいません。 このパラメーターは、 Context が NULL の場合にのみ使用されます。 Context が NULL の場合は、InfHandle、Section、Key を指定する必要があります。
[in, out] ReturnBuffer
NULL でない場合、ReturnBuffer は、この関数が行の内容を返すバッファーを指します。 null で終わる文字列は、宛先バッファーのサイズを超えてはなりません。 関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、2 回目に関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。 「解説」を参照してください。 このパラメーターは、NULL でもかまいません。
[in] ReturnBufferSize
ReturnBuffer パラメーターが指すバッファーのサイズ (文字単位)。 これには 、null ターミネータが含まれます。
[in, out] RequiredSize
NULL でない場合は、この関数が ReturnBuffer パラメーターによって指すバッファーに必要なサイズを文字で返す変数を指します。 これには 、null ターミネータが含まれます。 ReturnBuffer を指定し、必要なサイズが ReturnBufferSize パラメーターで指定された値より大きい場合、関数は失敗し、バッファーにデータを格納しません。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
この関数が NULL の ReturnBuffer で呼び出され、ReturnBufferSize が 0 の場合、この関数は、指定されたデータを保持するために必要なバッファー サイズを RequiredSize が指す変数に格納します。 こので関数が成功した場合、戻り値は 0 以外の値になります。 それ以外の場合、戻り値は 0 で、 GetLastError を呼び出すことで拡張エラー情報を取得できます。
この関数は、行の内容をコンパクトな形式で返します。 余分な空白はすべて削除され、複数行の値は 1 つの連続した文字列に変換されます。 たとえば、次の行を次に示します。
HKLM, , PointerClass0, 1 \
; This is a comment
01, 02, 03
は次のように返されます。
HKLM,,PointerClass0,1,01,02,03
注意
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupGetLineText を定義します。 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-0 (Windows 8 で導入) |