Fonction WTHelperGetFileHash

[La fonction WTHelperGetFileHash est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il peut être modifié ou indisponible dans les versions suivantes.]

La fonction WTHelperGetFileHash vérifie la signature d’un fichier signé et obtient la valeur de hachage et l’identificateur d’algorithme pour le fichier.

Notes

Cette fonction n’est pas déclarée dans un fichier d’en-tête publié. Pour utiliser cette fonction, déclarez-la dans le format exact indiqué. Cette fonction n’a pas non plus de bibliothèque d’importation associée. Vous devez utiliser les fonctions LoadLibrary et GetProcAddress pour établir une liaison dynamique vers Wintrust.dll.

 

Syntaxe

LONG WINAPI WTHelperGetFileHash(
  _In_        LPCWSTR pwszFilename,
  _In_        DWORD   dwFlags,
  _Inout_opt_ PVOID   pvReserved,
  _Out_opt_   BYTE    *pbFileHash,
  _Inout_opt_ DWORD   *pcbFileHash,
  _Out_opt_   ALG_ID  *pHashAlgid
);

Paramètres

pwszFilename [in]

Pointeur vers une chaîne Unicode terminée par null qui contient le chemin d’accès et le nom de fichier du fichier pour lequel obtenir le hachage.

dwFlags [in]

Ce paramètre n’est pas utilisé et doit être égal à zéro.

pvReserved [in, out, optional]

Ce paramètre n’est pas utilisé et doit être NULL.

pbFileHash [out, facultatif]

Pointeur vers une mémoire tampon pour recevoir la valeur de hachage du fichier. Le paramètre pcbFileHash contient la taille de cette mémoire tampon.

pcbFileHash [in, out, optional]

Pointeur vers une variable DWORD qui, en entrée, contient la taille, en octets, de la mémoire tampon pbFileHash et, en sortie, reçoit la taille, en octets, de la valeur de hachage.

Pour obtenir la taille requise de la valeur de hachage, transmettez NULL pour le paramètre pbFileHash . Cette fonction place la taille requise, en octets, de la valeur de hachage à cet emplacement.

Si le paramètre pbFileHash n’est pas NULL et que la taille n’est pas suffisamment grande pour recevoir la valeur de hachage, cette fonction place la taille requise, en octets, à cet emplacement et retourne ERROR_MORE_DATA.

pHashAlgid [out, facultatif]

Pointeur vers une variable ALG_ID pour recevoir l’identificateur de l’algorithme utilisé pour créer la valeur de hachage. Ce paramètre peut être NULL si ces informations ne sont pas nécessaires.

Valeur retournée

Retourne un code status qui indique la réussite ou l’échec de la fonction.

Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.

Code de retour Description
ERROR_SUCCESS
Le fichier est signé et la signature a été vérifiée.
ERROR_MORE_DATA
Le paramètre pbFileHash n’est pas NULL et la taille spécifiée par le paramètre pcbFileHash n’est pas suffisamment grande pour recevoir le hachage.
ERROR_NOT_ENOUGH_MEMORY
Un échec d’allocation de mémoire s’est produit.
TRUST_E_BAD_DIGEST
La signature du fichier n’a pas été vérifiée.
TRUST_E_NOSIGNATURE
Le fichier n’a pas été signé ou avait une signature qui n’est pas valide.

 

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
DLL
Wintrust.dll