Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Depois que o arquivo INF for aberto, você poderá coletar informações dele para criar a interface do usuário ou direcionar o processo de instalação. As funções de instalação fornecem vários níveis de funcionalidade para coletar informações de um arquivo INF.
| Para coletar informações... | Use essas funções... |
|---|---|
| Sobre o arquivo INF | SetupGetInfInformation |
| SetupQueryInfFileInformation | |
| SetupQueryInfVersionInformation. | |
| Sobre arquivos de origem e de destino | SetupGetSourceFileLocation |
| SetupGetSourceFileSize | |
| SetupGetTargetPath | |
| SetupGetSourceInfo | |
| De uma linha de um arquivo INF | SetupGetLineText |
| SetupFindNextLine | |
| SetupFindNextMatchLine | |
| SetupGetLineByIndex | |
| SetupFindFirstLine | |
| De um campo de uma linha em um arquivo INF | SetupGetStringField |
| SetupGetIntField | |
| SetupGetBinaryField | |
| SetupGetMultiSzField |
O exemplo a seguir usa a função SetupGetSourceInfo para recuperar a descrição legível por humanos de uma mídia de origem de um arquivo 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;
}
No exemplo, MyInf é o identificador para o arquivo INF aberto. SourceId é o identificador de uma mídia de origem específica. O valor SRCINFO_DESCRIPTION especifica que a função SetupGetSourceInfo deve recuperar a descrição da mídia de origem. O buffer aponta para uma cadeia de caracteres que receberá a descrição, MaxBufSize indica os recursos alocados para o buffer e BufSize indica os recursos necessários para armazenar o buffer.
Se BufSize for maior que MaxBufSize, a função retornará FALSE e uma chamada subsequente para GetLastError retornará ERROR_INSUFFICIENT_BUFFER.