Funzione VerFindFileW (winver.h)

Determina dove installare un file in base al fatto che individua un'altra versione del file nel sistema. I valori VerFindFile vengono usati nei buffer specificati 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 deve essere copiato 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, questa è la directory in cui risiede l'applicazione. Questo parametro punta anche alla directory corrente dell'applicazione, a meno che non sia specificato in caso contrario.

[out] szCurDir

Tipo: LPWSTR

Buffer che riceve il percorso di una versione corrente del file installato. 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 almeno _MAX_PATH caratteri lunghi, anche se non è necessario.

[in, out] puCurDirLen

Tipo: PUINT

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

Quando la funzione restituisce, 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 essere almeno _MAX_PATH caratteri lunghi, anche se non è necessario.

[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 restituisce, 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 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 a 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 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 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