Funzione SetupGetInfDriverStoreLocationW (setupapi.h)
La funzione SetupGetInfDriverStoreLocation recupera il nome di file completo (percorso di directory e nome file) di un file INF nell'archivio driver che corrisponde a un file INF specificato nella directory file INF del sistema o 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 file completo (percorso directory e nome file) di un file INF nell'archivio driver.
Per altre informazioni su come specificare il file INF, vedere la sezione Osservazioni seguenti.
[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 completo del file INF specificato. Questo parametro può essere impostato su NULL. La dimensione massima del percorso supportata è 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 sull'errore estese, chiamare GetLastError.
Se le dimensioni, in caratteri, del nome di file completo del file INF richiesto, incluso un terminatore null, è maggiore 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 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 del sistema e assegna tale copia del file INF a un nome file pubblicato univoco del modulo OEMnnn.inf. L'installazione del dispositivo installa una seconda copia del file INF nell'archivio driver e assegna la copia del nome del file INF originale.
SetupGetInfDriverStoreLocation restituisce il nome di file completo del file INF nell'archivio driver corrispondente al file INF, se presente, fornito da FileName. Il nome del file deve specificare il nome del file e, facoltativamente, il percorso della directory INF di un file INF del sistema. In alternativa, nome file deve specificare il nome completo del 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 del 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 delle classi e icoinstallatori 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:
- Chiamare SetupDiGetDriverInfoDetail per recuperare una struttura SP_DRVINFO_DETAIL_DATA per un driver. Il membro InfFileName di questa struttura contiene il nome completo del file INF del driver nella directory INF del sistema.
- Chiamare SetupGetInfDriverStoreLocation e specificare il nome completo del file INF del driver recuperato chiamando SetupDiGetDriverInfoDetail. SetupGetInfDriverStoreLocation restituirà il nome completo del file INF del driver nell'archivio driver. Il percorso della directory parte del nome completo del file INF è il percorso dei file del pacchetto 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 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
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive di Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | setupapi.h (includere Setupapi.h) |
Libreria | Setupapi.lib |