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 |
---|---|
|
La funzione è stata completata correttamente. |
|
Il file specificato non esiste. |
|
Impossibile aprire il file per ottenere informazioni sulla versione. |
|
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 |