Condividi tramite


Funzione SetupQueryInfVersionInformationA (setupapi.h)

[Questa funzione è disponibile per l'uso nei sistemi operativi indicati nella sezione Requisiti. Potrebbe essere modificato o non disponibile nelle versioni successive. SetupAPI non deve più essere usata per l'installazione di applicazioni. Usare invece Windows Installer per lo sviluppo di programmi di installazione delle 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ò essere compreso nell'intervallo [0, InfInformation.InfCount). Ciò significa che i valori da zero a, ma non inclusi, InfInformation.InfCount sono validi.

[in] Key

Puntatore facoltativo a un nullstringa con terminazione 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 è null-terminate, con un Null aggiuntivo alla fine dell'elenco.

[in, out] ReturnBuffer

Se non NULL, ReturnBuffer punta a un buffer di caratteri fornito dalla chiamata in cui questa funzione restituisce lo stile del file INF. È consigliabile usare un nullstringa con terminazione. Il nullstringa con terminazione 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 Osservazioni. Questo parametro può essere NULL.

[in] ReturnBufferSize

Dimensioni del buffer a cui punta il parametro ReturnBuffer, in caratteri. Questo numero include il carattere di terminazione null .

[in, out] RequiredSize

Se non NULL, puntatore a una variabile che riceve le dimensioni necessarie per il buffer a cui punta il parametro ReturnBuffer , in caratteri. Questo numero include il carattere di terminazione null . Se viene specificato ReturnBuffer e le dimensioni effettive sono maggiori del valore specificato da ReturnBufferSize, la funzione ha esito negativo 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 ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

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 a cui punta RequiredSize. Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero. In caso contrario, il valore restituito è zero e è possibile ottenere informazioni estese sull'errore 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 Signature del file INF legacy diventa il valore della chiave signature.
  3. Se il valore della chiave FileType del file INF legacy è MICROSOFT_FILE, il valore della chiave provider viene impostato su "Microsoft".
Nella tabella seguente viene riepilogato il modo in cui le informazioni vengono convertite 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 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione setupapi.h
libreria Setupapi.lib
dll Setupapi.dll

Vedere anche

Funzioni

panoramica

SetupGetInfInformation

SetupQueryInfFileInformation