Condividi tramite


Funzione MsiGetFileHashA (msi.h)

La funzione MsiGetFileHash accetta il percorso di un file e restituisce un hash a 128 bit di tale file. Gli strumenti di creazione possono usare MsiGetFileHash per ottenere l'hash del file necessario per popolare la tabella MsiFileHash.

Windows Installer usa l'hashing dei file come mezzo per rilevare ed eliminare la copia di file non necessarie. Un hash di file archiviato nella tabella MsiFileHash può essere confrontato con un hash di un file esistente nel computer dell'utente.

Sintassi

UINT MsiGetFileHashA(
  [in]  LPCSTR           szFilePath,
  [in]  DWORD            dwOptions,
  [out] PMSIFILEHASHINFO pHash
);

Parametri

[in] szFilePath

Percorso del file che deve essere sottoposto a hashing.

[in] dwOptions

Il valore in questa colonna deve essere 0. Questo parametro è riservato per un uso futuro.

[out] pHash

Puntatore alle informazioni sull'hash del file restituito.

Valore restituito

Valore Significato
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_FILE_NOT_FOUND
Il file non esiste.
ERROR_ACCESS_DENIED
Impossibile aprire il file per ottenere informazioni sulla versione.
E_FAIL
Si è verificato un errore imprevisto.
 
 

Osservazioni

L'intero hash di file a 128 bit viene restituito come quattro campi a 32 bit. La numerazione dei quattro campi è in base zero. I valori restituiti da MsiGetFileHash corrispondono ai quattro campi della struttura MSIFILEHASHINFO . Il primo campo corrisponde alla colonna HashPart1 della tabella MsiFileHash, il secondo campo corrisponde alla colonna HashPart2, il terzo campo corrisponde alla colonna HashPart3 e il quarto campo corrisponde alla colonna HashPart4.

Le informazioni hash immesse nella tabella MsiFileHash devono essere ottenute chiamando MsiGetFileHash o il metodo FileHash. Non tentare di usare altri metodi per generare l'hash del file.

Nota

L'intestazione msi.h definisce MsiGetFileHash 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 Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP. Per informazioni sul Service Pack minimo di Windows richiesto da una versione di Windows Installer, vedere Requisiti di windows Run-Time.
piattaforma di destinazione Finestre
intestazione msi.h
libreria Msi.lib
dll Msi.dll

Vedere anche

di controllo delle versioni dei file predefinite

MSIFILEHASHINFO

tabella MsiFileHash