MsiGetFileHashW, fonction (msi.h)
La fonction MsiGetFileHash prend le chemin d’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 de fichiers inutile. Un hachage de fichier stocké dans la table MsiFileHash peut être comparé au hachage d’un fichier existant sur l’ordinateur de l’utilisateur.
Syntaxe
UINT MsiGetFileHashW(
[in] LPCWSTR 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é à un usage futur.
[out] pHash
Pointeur vers les informations de hachage de fichier retournées.
Valeur retournée
Valeur | Signification |
---|---|
|
La fonction s’est terminée avec succès. |
|
Le fichier n'existe pas. |
|
Impossible d’ouvrir le fichier pour obtenir des informations de version. |
|
Une erreur inattendue s’est produite. |
Remarques
L’intégralité du hachage de fichier 128 bits est retournée sous la forme de quatre champs 32 bits. La numérotation des quatre champs est de base 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 à la colonne HashPart2, le troisième à la colonne HashPart3 et le quatrième à 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.
Notes
L’en-tête msi.h définit MsiGetFileHash en tant qu’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. La combinaison 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal 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. Pour plus d’informations sur le Service Pack Windows requis par une version de Windows Installer, consultez Configuration requise pour le runtime Windows. |
Plateforme cible | Windows |
En-tête | msi.h |
Bibliothèque | Msi.lib |
DLL | Msi.dll |