Condividi tramite


Funzione CryptCATAdminCalcHashFromFileHandle2 (mscat.h)

La funzione CryptCATAdminCalcHashFromFileHandle2 calcola l'hash per un file usando l'algoritmo specificato.

Questa funzione non ha una libreria di importazione associata. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Wintrust.dll.

Sintassi

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

Parametri

[in] hCatAdmin

Handle di un contesto di amministratore del catalogo aperto. Per altre informazioni, vedere CryptCATAdminAcquireContext2.

[in] hFile

Handle per il file il cui hash viene calcolato. Questo parametro non può essere NULL e deve essere un handle di file valido.

[in, out] pcbHash

Puntatore a una variabile DWORD contenente il numero di byte nel parametro pbHash . Al momento dell'input, impostare pcbHash sul numero di byte allocati per pbHash. Al ritorno, pcbHash contiene il numero di byte restituiti in pbHash. Se pbHash è impostato su NULL, pcbHash contiene il numero di byte da allocare per pbHash.

pbHash

Puntatore a un buffer BYTE che riceve l'hash. Se si imposta questo parametro su NULL, pcbHash conterrà il numero di byte da allocare per pbHash e una chiamata successiva può essere effettuata per recuperare l'hash.

dwFlags

Riservato. Il valore deve essere zero.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).

Se la funzione ha esito negativo, il valore restituito è zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Nella tabella seguente sono elencati i codici di errore restituiti più di frequente dalla funzione GetLastError .

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Il parametro hFile non deve essere NULL.

Il parametro hFile deve essere un handle di file valido.

Il parametro pcbHash non deve essere NULL.

Il parametro dwFlags deve essere zero (0).

ERROR_INSUFFICIENT_BUFFER
Il buffer a cui punta il parametro pbHash non era NULL , ma non era sufficientemente grande da scrivere. La dimensione corretta del buffer richiesto è contenuta nel valore a cui punta il parametro pcbHash .
NTE_BAD_ALGID
Impossibile trovare l'algoritmo hash specificato dal parametro pwszHashAlgorithm .

Commenti

La quantità di tempo necessaria per l'esecuzione di questa funzione dipende dalla lunghezza del file sottoposto a hashing, dall'algoritmo in uso e dal percorso del file. Ad esempio, sono necessari alcuni secondi per calcolare l'hash di un file locale di dimensioni molto grandi (poche centinaia di megabyte).

Requisiti

   
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mscat.h
Libreria Wintrust.lib
DLL Wintrust.dll

Vedi anche

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2