SetupGetInfInformationW 関数 (setupapi.h)

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

SetUpGetInfInformation 関数は、指定した INF ファイルのSP_INF_INFORMATION構造体をバッファーに返します。

構文

WINSETUPAPI BOOL SetupGetInfInformationW(
  [in]      LPCVOID             InfSpec,
  [in]      DWORD               SearchControl,
  [in, out] PSP_INF_INFORMATION ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

パラメーター

[in] InfSpec

SearchControl の値に応じて、INF ファイルのハンドルまたはファイル名。

[in] SearchControl

このパラメーターには、次のいずれかの定数を指定できます。

INFINFO_INF_SPEC_IS_HINF

InfSpec は INF ハンドルです。 1 つの INF ハンドルは、複数の INF ファイルが一緒に追加読み込まれている場合に参照できます。 その場合、この関数によって返される構造体には、複数の情報セットが含まれます。

INFINFO_INF_NAME_IS_ABSOLUTE

InfSpec に指定された文字列は完全なパスです。 InfSpec に対してそれ以上の処理は実行されません。

InfSpec に指定された INF ファイルの既定の場所を検索します。これはファイル名のみであると見なされます。 既定の場所は %windir%\inf で、その後に %windir%\system32 が続きます。

INFINFO_DEFAULT_SEARCHと同じですが、既定の場所は逆の順序で検索されます。

次の下の DevicePath 値エントリに一覧表示されている各ディレクトリで INF を検索します:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

[in, out] ReturnBuffer

NULL でない場合は、この関数がSP_INF_INFORMATION構造体を返すバッファーを指します。

関数を 1 回呼び出して、必要なバッファー サイズを取得し、必要なメモリを割り当ててから、2 回目に関数を呼び出してデータを取得できます。 この手法を使用すると、バッファー サイズが不十分なため、エラーを回避できます。 詳細については、このトピックの「解説」セクションを参照してください。

[in] ReturnBufferSize

ReturnBuffer のサイズ (バイト単位)。

[in, out] RequiredSize

NULL でない場合は、この関数が ReturnBuffer が指すバッファーに必要なサイズ (バイト単位) を返す変数を指します。

ReturnBuffer を指定し、必要なサイズが ReturnBufferSize より大きい場合、関数は失敗し、GetLastError の呼び出しはERROR_INSUFFICIENT_BUFFERを返します。

戻り値

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

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

INF ファイルが見つからない場合、関数は FALSE を 返し、 GetLastError の後続の呼び出しはERROR_FILE_NOT_FOUNDを返します。

解説

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

注意

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

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー setupapi.h
Library Setupapi.lib
[DLL] Setupapi.dll

関連項目

関数

概要

SetupQueryInfFileInformation

SetupQueryInfVersionInformation