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 に対してそれ以上の処理は実行されません。
INFINFO_DEFAULT_SEARCH
InfSpec に指定された INF ファイルの既定の場所を検索します。これはファイル名のみであると見なされます。 既定の場所は %windir%\inf で、その後に %windir%\system32 が続きます。
INFINFO_REVERSE_DEFAULT_SEARCH
INFINFO_DEFAULT_SEARCHと同じですが、既定の場所は逆の順序で検索されます。
INFINFO_INF_PATH_LIST_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 |