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.
[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 |
---|---|
|
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 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
Altre risorse
Riferimento