INF ファイルを開いた後、情報を収集してユーザー インターフェイスを構築したり、インストール プロセスを指示したりできます。 セットアップ関数には、INF ファイルから情報を収集するためのいくつかのレベルの機能が用意されています。
| 情報を収集するには... | これらの関数を使用します... |
|---|---|
| INF ファイルについて | SetupGetInfInformation |
| SetupQueryInfFileInformation | |
| SetupQueryInfVersionInformation。 | |
| ソース ファイルとターゲット ファイルについて | SetupGetSourceFileLocation |
| SetupGetSourceFileSize | |
| SetupGetTargetPath | |
| SetupGetSourceInfo | |
| INF ファイルの行から | SetupGetLineText |
| SetupFindNextLine | |
| SetupFindNextMatchLine | |
| SetupGetLineByIndex | |
| SetupFindFirstLine | |
| INF ファイル内の行のフィールドから | SetupGetStringField |
| SetupGetIntField | |
| SetupGetBinaryField | |
| SetupGetMultiSzField |
次の例では 、SetupGetSourceInfo 関数を使用して、INF ファイルからソース メディアの人間が判読できる説明を取得します。
#include <windows.h>
#include <setupapi.h>
BOOL test;
HINF MyInf;
UINT SourceId;
PTSTR Buffer;
DWORD MaxBufSize;
DWORD BufSize;
int main()
{
test = SetupGetSourceInfo (
MyInf, //Handle to the INF file to access
SourceId, //Id of the source media
SRCINFO_DESCRIPTION, //which information to retrieve
Buffer, //a pointer to the buffer to receive the information
MaxBufSize, //the size allocated for the buffer
&BufSize //buffer size actually needed
);
return 0;
}
この例では、MyInf は開いている INF ファイルへのハンドルです。 SourceId は、特定のソース メディアの識別子です。 SRCINFO_DESCRIPTION値は、 SetupGetSourceInfo 関数がソース メディアの説明を取得する必要があることを指定します。 バッファーは説明を受け取る文字列を指し、MaxBufSize はバッファーに割り当てられたリソースを示し、BufSize はバッファーを格納するために必要なリソースを示します。
BufSize が MaxBufSize より大きい場合、関数は FALSE を返し、 GetLastError の後続の呼び出しはERROR_INSUFFICIENT_BUFFERを返します。