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 necessaria. 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 di cui eseguire l'hashing.

[in] dwOptions

Il valore in questa colonna deve essere 0. Questo parametro è riservato per usi futuri.

[out] pHash

Puntatore alle informazioni hash del file restituite.

Valore restituito

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

Commenti

L'intero hash di file a 128 bit viene restituito come quattro campi a 32 bit. La numerazione dei quattro campi è basata su 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 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 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 Windows Installer Run-Time Requirements .See the Windows Installer requirements for information about the minimum Windows Service Pack that is required by a Windows Installer version.
Piattaforma di destinazione Windows
Intestazione msi.h
Libreria Msi.lib
DLL Msi.dll

Vedi anche

Controllo delle versioni predefinite dei file

MSIFILEHASHINFO

Tabella MsiFileHash