Funzione VerFindFileA (winver.h)
Determina dove installare un file in base al fatto che individua un'altra versione del file nel sistema. I valori verFindFile restituiti nei buffer specificati vengono usati in una chiamata successiva alla funzione VerInstallFile .
Sintassi
DWORD VerFindFileA(
[in] DWORD uFlags,
[in] LPCSTR szFileName,
[in, optional] LPCSTR szWinDir,
[in] LPCSTR szAppDir,
[out] LPSTR szCurDir,
[in, out] PUINT puCurDirLen,
[out] LPSTR szDestDir,
[in, out] PUINT puDestDirLen
);
Parametri
[in] uFlags
Tipo: DWORD
Questo parametro può essere il valore seguente. Tutti gli altri bit sono riservati.
Valore | Significato |
---|---|
|
Il file di origine può essere condiviso da più applicazioni. Un'applicazione può usare queste informazioni per determinare dove copiare il file. |
[in] szFileName
Tipo: LPCTSTR
Nome del file da installare. Includere solo il nome e l'estensione del file, non un percorso.
[in, optional] szWinDir
Tipo: LPCTSTR
Directory in cui Windows è in esecuzione o verrà eseguita. Questa stringa viene restituita dalla funzione GetWindowsDirectory .
[in] szAppDir
Tipo: LPCTSTR
Directory in cui il programma di installazione installa un set di file correlati. Se il programma di installazione installa un'applicazione, si tratta della directory in cui risiederà l'applicazione. Questo parametro punta anche alla directory corrente dell'applicazione, se non diversamente specificato.
[out] szCurDir
Tipo: LPWSTR
Buffer che riceve il percorso di una versione corrente del file in fase di installazione. Il percorso è una stringa con terminazione zero. Se non è installata una versione corrente, il buffer conterrà una stringa di lunghezza zero. Il buffer deve essere lungo almeno _MAX_PATH caratteri, anche se non è obbligatorio.
[in, out] puCurDirLen
Tipo: PUINT
Lunghezza del buffer szCurDir . Questo puntatore non deve essere NULL.
Quando la funzione restituisce il risultato, lpuCurDirLen contiene le dimensioni, in caratteri, dei dati restituiti in szCurDir, incluso il carattere Null di terminazione. Se il buffer è troppo piccolo per contenere tutti i dati, lpuCurDirLen sarà la dimensione del buffer necessaria per contenere il percorso.
[out] szDestDir
Tipo: LPTSTR
Buffer che riceve il percorso del percorso di installazione consigliato da VerFindFile. Il percorso è una stringa con terminazione zero. Il buffer deve essere lungo almeno _MAX_PATH caratteri, anche se non è obbligatorio.
[in, out] puDestDirLen
Tipo: PUINT
Puntatore a una variabile che specifica la lunghezza del buffer szDestDir . Questo puntatore non deve essere NULL.
Quando la funzione viene restituita, lpuDestDirLen contiene le dimensioni, in caratteri, dei dati restituiti in szDestDir, incluso il carattere Null di terminazione. Se il buffer è troppo piccolo per contenere tutti i dati, lpuDestDirLen sarà la dimensione del buffer necessaria per contenere il percorso.
Valore restituito
Tipo: DWORD
Il valore restituito è una maschera di bit che indica lo stato del file. Può essere uno o più dei valori seguenti. Tutti gli altri valori sono riservati.
Codice/valore restituito | Descrizione |
---|---|
|
La versione attualmente installata del file non è nella destinazione consigliata. |
|
Il sistema usa la versione attualmente installata del file; pertanto, il file non può essere sovrascritto o eliminato. |
|
Almeno uno dei buffer era troppo piccolo per contenere la stringa corrispondente. Un'applicazione deve controllare i buffer di output per determinare quale buffer era troppo piccolo. |
Commenti
Questa funzione funziona su immagini di file a 16, 32 e 64 bit.
VerFindFile cerca una copia del file specificato usando la funzione OpenFile . Tuttavia, determina la directory di sistema dalla directory di Windows specificata o cerca il percorso.
Se il parametro dwFlags indica che il file è privato per questa applicazione (non VFFF_ISSHAREDFILE), VerFindFile consiglia di installare il file nella directory dell'applicazione. In caso contrario, se il sistema esegue una copia condivisa del sistema, la funzione consiglia di installare il file nella directory di Windows. Se il sistema esegue una copia privata del sistema, la funzione consiglia di installare il file nella directory di sistema.
Nota
L'intestazione winver.h definisce VerFindFile 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 | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winver.h (include Windows.h) |
Libreria | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
Vedi anche
Informazioni concettuali
Altre risorse
Riferimento