Funzione SetupQueryInfVersionInformationA (setupapi.h)

[Questa funzione è disponibile per l'uso nei sistemi operativi indicati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. SetupAPI non deve più essere usato per l'installazione di applicazioni. Usare invece Windows Installer per lo sviluppo di programmi di installazione di applicazioni. SetupAPI continua a essere usato per l'installazione dei driver di dispositivo.

La funzione SetupQueryInfVersionInformation restituisce informazioni sulla versione del file INF da una struttura SP_INF_INFORMATION a un buffer.

Sintassi

WINSETUPAPI BOOL SetupQueryInfVersionInformationA(
  [in]      PSP_INF_INFORMATION InfInformation,
  [in]      UINT                InfIndex,
  [in]      PCSTR               Key,
  [in, out] PSTR                ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

Parametri

[in] InfInformation

Puntatore a una struttura SP_INF_INFORMATION restituita in precedenza da una chiamata alla funzione SetupGetInfInformation .

[in] InfIndex

Indice del file INF costitutivo da cui recuperare le informazioni sulla versione. Questo indice può trovarsi nell'intervallo [0, InfInformation.InfCount). Ciò significa che i valori zero attraverso, ma non inclusi, InfInformation.InfCount sono validi.

[in] Key

Puntatore facoltativo a una stringa con terminazione null contenente il nome della chiave la cui stringa associata deve essere recuperata. Se questo parametro è NULL, tutte le chiavi di risorsa vengono copiate nel buffer fornito. Ogni stringa viene terminata con valore Null, con un valore Null aggiuntivo alla fine dell'elenco.

[in, out] ReturnBuffer

In caso contrario, ReturnBuffer punta a un buffer di caratteri fornito dalla chiamata in cui questa funzione restituisce lo stile di file INF. È consigliabile usare una stringa con terminazione Null. La stringa con terminazione null non deve superare le dimensioni del buffer di destinazione. È possibile chiamare la funzione una volta per ottenere le dimensioni del buffer necessarie, allocare la memoria necessaria e quindi chiamare la funzione una seconda volta per recuperare i dati. Usando questa tecnica, è possibile evitare errori a causa di dimensioni del buffer insufficienti. Vedere la sezione relativa alle osservazioni. Questo parametro può essere NULL.

[in] ReturnBufferSize

Dimensioni del buffer a cui punta il parametro ReturnBuffer , in caratteri. Questo numero include il terminatore Null .

[in, out] RequiredSize

In caso contrario, puntatore a una variabile che riceve le dimensioni necessarie per il buffer a cui punta il parametro ReturnBuffer , in caratteri. Questo numero include il terminatore Null . Se ReturnBuffer viene specificato e la dimensione effettiva è maggiore del valore specificato da ReturnBufferSize, la funzione non riesce e una chiamata a GetLastError restituisce ERROR_INSUFFICIENT_BUFFER.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Se questa funzione viene chiamata con un ReturnBuffer di NULL e un ReturnBufferSize pari a zero, la funzione inserisce le dimensioni del buffer necessarie per contenere i dati specificati nella variabile puntata a RequiredSize. Se la funzione ha esito positivo in questo caso, il valore restituito è un valore diverso da zero. In caso contrario, il valore restituito è zero e le informazioni di errore estese possono essere ottenute chiamando GetLastError.

Se SetupQueryInfVersionInformation viene chiamato in un file INF legacy, le informazioni sulla versione vengono generate dal file INF legacy nel modo seguente:

  1. La chiave OptionType nella sezione Identificazione del file legacy viene restituita come valore della chiave di classe.
  2. La chiave FileType nella sezione Firma del file INF legacy diventa il valore della chiave firma.
  3. Se il valore della chiave FileType del file INF legacy è MICROSOFT_FILE, il valore della chiave provider è impostato su "Microsoft".
Nella tabella seguente viene riepilogato il modo in cui le informazioni vengono tradotte prima che vengano passate alla struttura SP_INF_INFORMATION .
Informazioni sul file legacy Informazioni su Windows INF
[Identification]
OptionType = Mouse
[Version]
Class=Mouse
[Signature]
FileType = MICROSOFT_FILE
Signature=MICROSOFT_FILE
Se il fileType è MICROSOFT_FILE)
Provider="Microsoft"
 

Nota

L'intestazione setupapi.h definisce SetupQueryInfVersionInformation come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione setupapi.h
Libreria Setupapi.lib
DLL Setupapi.dll

Vedi anche

Funzioni

Panoramica

SetupGetInfInformation

SetupQueryInfFileInformation