Condividi tramite


Funzione VerFindFileW (winver.h)

Determina dove installare un file in base all'individuazione di 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 VerFindFileW(
  [in]           DWORD   uFlags,
  [in]           LPCWSTR szFileName,
  [in, optional] LPCWSTR szWinDir,
  [in]           LPCWSTR szAppDir,
  [out]          LPWSTR  szCurDir,
  [in, out]      PUINT   puCurDirLen,
  [out]          LPWSTR  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 contenere almeno _MAX_PATH caratteri, anche se questo non è obbligatorio.

[in, out] puCurDirLen

Tipo: PUINT

Lunghezza del buffer di szCurDir. Questo puntatore non deve essere NULL.

Quando la funzione viene restituita, 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 di installazione consigliato da VerFindFile. Il percorso è una stringa con terminazione zero. Il buffer deve contenere almeno _MAX_PATH caratteri, anche se questo 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.

Osservazioni

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 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 Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winver.h (include Windows.h)
libreria Version.lib
dll Api-ms-win-core-version-l1-1-0.dll

Vedere anche

concettuale

GetWindowsDirectory

OpenFile

altre risorse

riferimento

VerInstallFile

informazioni sulla versione