Condividi tramite


Funzione SetupGetInfDriverStoreLocationW (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 dei file INF di sistema o in un file INF specificato nell'archivio driver.

Sintassi

WINSETUPAPI BOOL SetupGetInfDriverStoreLocationW(
  [in]            PCWSTR               FileName,
  [in, optional]  PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
  [in, optional]  PCWSTR               LocaleName,
  [out]           PWSTR                ReturnBuffer,
  [in]            DWORD                ReturnBufferSize,
  [out, optional] PDWORD               RequiredSize
);

Parametri

[in] FileName

Puntatore a una stringa con terminazione NULL contenente il nome e, facoltativamente, il percorso completo della directory di un file INF nella directory file INF di sistema. In alternativa, questo parametro è un puntatore a una stringa con terminazione NULL che contiene il nome di 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 seguente osservazioni.

[in, optional] AlternatePlatformInfo

Riservato per l'uso del sistema.

[in, optional] LocaleName

Riservato per l'uso del sistema.

[out] ReturnBuffer

Puntatore a un buffer in cui la funzione restituisce una stringa con terminazione NULL contenente il nome completo del file INF specificato. Questo parametro può essere impostato su NULL. La dimensione massima supportata del percorso è MAX_PATH. Per informazioni su come determinare le dimensioni necessarie del buffer, vedere la sezione osservazioni seguenti.

[in] ReturnBufferSize

Dimensioni, 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 carattere di terminazione Null, sono maggiori di ReturnBufferSize, la funzione avrà esito negativo e una chiamata a GetLastError restituirà ERROR_INSUFFICIENT_BUFFER.

Osservazioni

Per determinare le dimensioni del buffer restituito necessario per contenere il nome 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 a un nome file univoco pubblicato del modulo 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. nome file deve specificare il nome file e, facoltativamente, il percorso della directory di un file INF nella directory INF di sistema. In alternativa, nome file deve specificare il nome completo di un file INF nell'archivio driver.

Si supponga, ad esempio, che il file INF per un pacchetto driver sia Myinf.infe 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 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.info C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf.

i programmi di installazione classe e 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 InfFileName membro di questa struttura contiene il nome completo del file INF del driver nella directory INF di sistema.
  2. Chiamare SetupGetInfDriverStoreLocation e specificare il nome 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 completo del file INF è il percorso del pacchetto driver file.
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 di file completo di un file INF nella directory file INF di sistema che corrisponde a un file INF specificato nella directory dei file INF di sistema o in 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 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 Disponibile in Windows Vista e versioni successive di Windows.
piattaforma di destinazione Desktop
intestazione setupapi.h (include Setupapi.h)
libreria Setupapi.lib

Vedere anche

SP_ALTPLATFORM_INFO

SP_DRVINFO_DETAIL_DATA

SetupDiGetDriverInfoDetail

SetupGetInfPublishedName