MsiGetFileHashA, fonction (msi.h)

La fonction MsiGetFileHash prend le chemin d’accès à un fichier et retourne un hachage 128 bits de ce fichier. Les outils de création peuvent utiliser msiGetFileHash pour obtenir le hachage de fichier nécessaire pour remplir la table MsiFileHash.

Windows Installer utilise le hachage de fichiers comme moyen de détecter et d’éliminer la copie inutile de fichiers. Un hachage de fichier stocké dans la table MsiFileHash peut être comparé à un hachage d’un fichier existant sur l’ordinateur de l’utilisateur.

Syntaxe

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

Paramètres

[in] szFilePath

Chemin d’accès au fichier à hacher.

[in] dwOptions

La valeur de cette colonne doit être 0. Ce paramètre est réservé à une utilisation ultérieure.

[out] pHash

Pointeur vers les informations de hachage de fichier retournées.

Valeur de retour

Valeur Signification
ERROR_SUCCESS
La fonction s’est terminée correctement.
ERROR_FILE_NOT_FOUND
Le fichier n’existe pas.
ERROR_ACCESS_DENIED
Impossible d’ouvrir le fichier pour obtenir des informations de version.
E_FAIL
Une erreur inattendue s’est produite.
 
 

Remarques

Le hachage de fichier 128 bits entier est retourné sous la forme de quatre champs 32 bits. La numérotation des quatre champs est basée sur zéro. Les valeurs retournées par MsiGetFileHash correspondent aux quatre champs de la structure MSIFILEHASHINFO . Le premier champ correspond à la colonne HashPart1 de la table MsiFileHash, le deuxième champ correspond à la colonne HashPart2, le troisième champ correspond à la colonne HashPart3 et le quatrième champ correspond à la colonne HashPart4.

Les informations de hachage entrées dans la table MsiFileHash doivent être obtenues en appelant MsiGetFileHash ou la méthode FileHash. N’essayez pas d’utiliser d’autres méthodes pour générer le hachage de fichier.

Note

L’en-tête msi.h définit MsiGetFileHash comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP. Consultez la configuration requise de Windows Installer Run-Time pour plus d’informations sur le service pack Windows minimal requis par une version de Windows Installer.
plateforme cible Windows
d’en-tête msi.h
bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

de contrôle de version de fichiers par défaut

MSIFILEHASHINFO

table MsiFileHash