SetupGetLineTextW 関数 (setupapi.h)

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

SetupGetLineText 関数は、INF ファイル内の行の内容をコンパクトな形式で返します。 取得する行は、SetupFindLineXXX 関数から返される INFCONTEXT 構造体、または目的の行の INF ハンドル、セクション、およびキーを明示的に渡すことによって指定できます。

構文

WINSETUPAPI BOOL SetupGetLineTextW(
  [in]      PINFCONTEXT Context,
  [in]      HINF        InfHandle,
  [in]      PCWSTR      Section,
  [in]      PCWSTR      Key,
  [in, out] PWSTR       ReturnBuffer,
  [in]      DWORD       ReturnBufferSize,
  [in, out] PDWORD      RequiredSize
);

パラメーター

[in] Context

テキストを取得する INF ファイル内の行のコンテキスト。 このパラメーターは、NULL でもかまいません。 ContextNULL の場合は、InfHandleSectionKey をすべて指定する必要があります。

[in] InfHandle

クエリを実行する INF ファイルを処理します。 このパラメーターは、NULL でもかまいません。 このパラメーターは、 ContextNULL の場合にのみ使用されます。 ContextNULL の場合は、InfHandleSectionKey をすべて指定する必要があります。

[in] Section

テキストを取得する行のキー名を含むセクションを指定する null で終わる文字列へのポインター。 このパラメーターは、NULL でもかまいません。 このパラメーターは、 ContextNULL の場合にのみ使用されます。 ContextNULL の場合は、InfHandleSectionKey を指定する必要があります。

[in] Key

関連付けられた文字列を取得するキー名を含む null で終わる文字列へのポインター。 このパラメーターは、NULL でもかまいません。 このパラメーターは、 ContextNULL の場合にのみ使用されます。 ContextNULL の場合は、InfHandleSectionKey を指定する必要があります。

[in, out] ReturnBuffer

NULL でない場合、ReturnBuffer は、この関数が行の内容を返すバッファーを指します。 null で終わる文字列は、コピー先バッファーのサイズを超えることはできません。 関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、もう一度関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。 「解説」を参照してください。 このパラメーターは、NULL でもかまいません。

[in] ReturnBufferSize

ReturnBuffer パラメーターが指すバッファーのサイズ (文字数)。 これには null 終端記号が含まれます。

[in, out] RequiredSize

NULL でない場合は、この関数が ReturnBuffer パラメーターが指すバッファーに必要なサイズを文字数で返す変数を指します。 これには null 終端記号が含まれます。 ReturnBuffer を指定し、必要なサイズが ReturnBufferSize パラメーターで指定された値より大きい場合、関数は失敗し、バッファーにデータを格納しません。

戻り値

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

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

解説

ReturnBuffer が NULLReturnBufferSize が 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 を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント 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 で導入)

関連項目

関数

概要

SetupFindFirstLine

SetupFindNextLine

SetupFindNextMatchLine

SetupGetLineByIndex