SetupGetInfInformationA 関数 (setupapi.h)
[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、引き続きデバイス ドライバーのインストールに使用されます。
SetUpGetInfInformation 関数は、指定した INF ファイルのSP_INF_INFORMATION構造体をバッファーに返します。
構文
WINSETUPAPI BOOL SetupGetInfInformationA(
[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を返します。
注釈
ReturnBuffer が NULL で ReturnBufferSize が 0 (ゼロ) の場合、この関数は、指定されたデータを保持するために必要なバッファー サイズを RequiredSize が指す変数に格納します。 関数が成功した場合、戻り値は 0 以外の値になります。 それ以外の場合、戻り値は 0 (ゼロ) であり、 GetLastError を呼び出すことで拡張エラー情報を取得できます。
注意
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupGetInfInformation を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | setupapi.h |
Library | Setupapi.lib |
[DLL] | Setupapi.dll |