Fonction CryptCATAdminCalcHashFromFileHandle2 (mscat.h)

La fonction CryptCATAdminCalcHashFromFileHandle2 calcule le hachage d’un fichier à l’aide de l’algorithme spécifié.

Cette fonction n’a pas de bibliothèque d’importation associée. Vous devez utiliser les fonctions LoadLibrary et GetProcAddress pour établir un lien dynamique vers Wintrust.dll.

Syntaxe

BOOL CryptCATAdminCalcHashFromFileHandle2(
  [in]      HCATADMIN hCatAdmin,
  [in]      HANDLE    hFile,
  [in, out] DWORD     *pcbHash,
            BYTE      *pbHash,
            DWORD     dwFlags
);

Paramètres

[in] hCatAdmin

Handle d’un contexte d’administrateur de catalogue ouvert. Pour plus d’informations, consultez CryptCATAdminAcquireContext2.

[in] hFile

Handle du fichier dont le hachage est en cours de calcul. Ce paramètre ne peut pas avoir la valeur NULL et doit être un handle de fichier valide.

[in, out] pcbHash

Pointeur vers une variable DWORD qui contient le nombre d’octets dans le paramètre pbHash . Lors de l’entrée, définissez pcbHash sur le nombre d’octets alloués pour pbHash. Au retour, pcbHash contient le nombre d’octets retournés en pbHash. Si pbHash a la valeur NULL, pcbHash contient le nombre d’octets à allouer pour pbHash.

pbHash

Pointeur vers une mémoire tampon BYTE qui reçoit le hachage. Si vous définissez ce paramètre sur NULL, pcbHash contiendra le nombre d’octets à allouer pour pbHash, et un appel suivant peut être effectué pour récupérer le hachage.

dwFlags

Réservé. Cette valeur doit être zéro.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).

Si la fonction échoue, la valeur de retour est zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Le tableau suivant répertorie les codes d’erreur les plus couramment retournés par la fonction GetLastError .

Code de retour Description
ERROR_INVALID_PARAMETER
Le paramètre hFile ne doit pas avoir la valeur NULL.

Le paramètre hFile doit être un handle de fichier valide.

Le paramètre pcbHash ne doit pas être NULL.

Le paramètre dwFlags doit être égal à zéro (0).

ERROR_INSUFFICIENT_BUFFER
La mémoire tampon pointée vers le paramètre pbHash n’était pas NULL , mais n’était pas assez grande pour être écrite. La taille correcte de la mémoire tampon requise est contenue dans la valeur indiquée par le paramètre pcbHash .
NTE_BAD_ALGID
L’algorithme de hachage spécifié par le paramètre pwszHashAlgorithm est introuvable.

Notes

La durée d’exécution de cette fonction dépend de la longueur du fichier en cours de hachage, de l’algorithme utilisé et de l’emplacement du fichier. Par exemple, le calcul du hachage d’un fichier local très volumineux (quelques centaines de mégaoctets) prend plusieurs secondes.

Spécifications

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mscat.h
Bibliothèque Wintrust.lib
DLL Wintrust.dll

Voir aussi

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2