Condividi tramite


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
VFFF_ISSHAREDFILE
0x0001
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
VFF_CURNEDEST
0x0001
La versione attualmente installata del file non è nella destinazione consigliata.
VFF_FILEINUSE
0x0002
Il sistema usa la versione attualmente installata del file; pertanto, il file non può essere sovrascritto o eliminato.
VFF_BUFFTOOSMALL
0x0004
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

GetWindowsDirectory

OpenFile

Altre risorse

Riferimento

VerInstallFile

Informazioni sulla versione