Condividi tramite


Funzione SetupGetInfDriverStoreLocationA (setupapi.h)

La funzione SetupGetInfDriverStoreLocation recupera il nome file completo (percorso di directory e nome file) di un file INF nell'archivio driver che corrisponde a un file INF specificato nella directory del file INF di sistema o a un file INF specificato nell'archivio driver.

Sintassi

WINSETUPAPI BOOL SetupGetInfDriverStoreLocationA(
  [in]            PCSTR                FileName,
  [in, optional]  PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
  [in, optional]  PCSTR                LocaleName,
  [out]           PSTR                 ReturnBuffer,
  [in]            DWORD                ReturnBufferSize,
  [out, optional] PDWORD               RequiredSize
);

Parametri

[in] FileName

Puntatore a una stringa con terminazione NULL che contiene il nome e, facoltativamente, il percorso di directory completo di un file INF nella directory del file INF di sistema. In alternativa, questo parametro è un puntatore a una stringa con terminazione NULL che contiene il nome file completo (percorso di directory e nome file) di un file INF nell'archivio driver.

Per altre informazioni su come specificare il file INF, vedere la sezione Osservazioni seguente.

[in, optional] AlternatePlatformInfo

Riservato per l'utilizzo nel sistema.

[in, optional] LocaleName

Riservato per l'utilizzo nel sistema.

[out] ReturnBuffer

Puntatore a un buffer in cui la funzione restituisce una stringa con terminazione NULL contenente il nome di file completo del file INF specificato. Questo parametro può essere impostato su NULL. Le dimensioni massime supportate del percorso sono MAX_PATH. Per informazioni su come determinare le dimensioni necessarie del buffer, vedere la sezione Osservazioni seguente.

[in] ReturnBufferSize

Dimensione, in caratteri, del buffer fornito da ReturnBuffer.

[out, optional] RequiredSize

Puntatore a una variabile tipizzata DWORD che riceve le dimensioni, in caratteri, del buffer ReturnBuffer . Questo parametro è facoltativo e può essere impostato su NULL.

Valore restituito

Se SetupGetInfDriverStoreLocation ha esito positivo, la funzione restituisce TRUE; in caso contrario, la funzione restituisce FALSE. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Se le dimensioni, in caratteri, del nome file completo del file INF richiesto, incluso un terminatore Null, sono maggiori di ReturnBufferSize, la funzione avrà esito negativo e una chiamata a GetLastError restituirà ERROR_INSUFFICIENT_BUFFER.

Commenti

Per determinare le dimensioni del buffer restituito necessario per contenere il nome di file completo del file INF specificato nell'archivio driver, chiamare SetupGetInfDriverStoreLocation e impostare ReturnBuffer su NULL, ReturnBufferSize su zero e specificare RequiredSize. SetupGetInfDriverStoreLocation restituirà le dimensioni del buffer necessarie in RequiredSize.

Quando l'installazione del dispositivo preinstalla un pacchetto driver nell'archivio driver, crea due copie del file INF del pacchetto driver. L'installazione del dispositivo installa una copia nella directory INF di sistema e assegna tale copia del file INF un nome file pubblicato univoco nel formato OEMnnn.inf. L'installazione del dispositivo installa una seconda copia del file INF nell'archivio driver e assegna tale copia del nome file INF originale.

SetupGetInfDriverStoreLocation restituisce il nome file completo del file INF nell'archivio driver che corrisponde al file INF, se presente, fornito da FileName. Il nome file deve specificare il nome del file e, facoltativamente, il percorso della directory, di un file INF nella directory INF di sistema. In alternativa, Filename deve specificare il nome file completo di un file INF nell'archivio driver.

Si supponga, ad esempio, che il file INF per un pacchetto driver sia Myinf.inf e che per questo pacchetto driver, l'installazione del dispositivo installa il file INF OEM1.inf nella directory INF di sistema C:\Windows\inf. Si supponga inoltre che l'installazione del dispositivo installi la copia del file INF corrispondente C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf nell'archivio driver. In questo caso, la funzione restituisce C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf se FileName fornisce una delle stringhe seguenti: OEM1.inf, C:\Windows\inf\OEM1.inf o C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf.

I programmi di installazione di classe e i coinstallatori possono usare SetupGetInfDriverStoreLocation per accedere ai file in un pacchetto driver preinstallato nell'archivio driver. Per determinare il percorso del pacchetto driver nell'archivio driver, il programma di installazione esegue le operazioni seguenti:

  1. Chiamare SetupDiGetDriverInfoDetail per recuperare una struttura SP_DRVINFO_DETAIL_DATA per un driver. Il membro InfFileName di questa struttura contiene il nome file completo del file INF del driver nella directory INF di sistema.
  2. Chiamare SetupGetInfDriverStoreLocation e specificare il nome file completo del file INF del driver recuperato chiamando SetupDiGetDriverInfoDetail. SetupGetInfDriverStoreLocation restituirà il nome file completo del file INF del driver nell'archivio driver. La parte del percorso della directory del nome file completo del file INF è il percorso dei file del pacchetto driver .
NotaSetupGetInfDriverStoreLocation non elabora il contenuto del file INF specificato in FileName. Non è possibile usare questa funzione per eseguire una ricerca specifica del contenuto per un file INF nell'archivio driver.
 
Chiamare la funzione SetupGetInfPublishedName per recuperare il nome file completo di un file INF nella directory del file INF di sistema che corrisponde a un file INF specificato nella directory del file INF di sistema o a un file specificato nell'archivio driver.

Nota

L'intestazione setupapi.h definisce SetupGetInfDriverStoreLocation 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione setupapi.h (include Setupapi.h)
Libreria Setupapi.lib

Vedi anche

SP_ALTPLATFORM_INFO

SP_DRVINFO_DETAIL_DATA

SetupDiGetDriverInfoDetail

SetupGetInfPublishedName