Funzione WTHelperGetFileHash

[La funzione WTHelperGetFileHash è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Può essere modificato o non disponibile nelle versioni successive.

La funzione WTHelperGetFileHash verifica la firma di un file firmato e ottiene il valore hash e l'identificatore dell'algoritmo per il file.

Nota

Questa funzione non viene dichiarata in un file di intestazione pubblicato. Per usare questa funzione, dichiararla nel formato esatto visualizzato. Questa funzione non ha anche una libreria di importazione associata. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Wintrust.dll.

 

Sintassi

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
);

Parametri

pwszFilename [in]

Puntatore a una stringa Unicode con terminazione null contenente il percorso e il nome file del file per ottenere l'hash.

dwFlags [in]

Questo parametro non viene usato e deve essere zero.

pvReserved [in, out, facoltativo]

Questo parametro non viene usato e deve essere NULL.

pbFileHash [out, facoltativo]

Puntatore a un buffer per ricevere il valore hash per il file. Il parametro pcbFileHash contiene le dimensioni di questo buffer.

pcbFileHash [in, out, facoltativo]

Puntatore a una variabile DWORD che, in input, contiene le dimensioni, in byte, del buffer pbFileHash e, nell'output, riceve le dimensioni, in byte, del valore hash.

Per ottenere le dimensioni necessarie del valore hash, passare NULL per il parametro pbFileHash . Questa funzione inserisce le dimensioni necessarie, in byte, del valore hash in questa posizione.

Se il parametro pbFileHash non è NULL e le dimensioni non sono sufficienti per ricevere il valore hash, questa funzione inserisce le dimensioni necessarie, in byte, in questa posizione e restituisce ERROR_MORE_DATA.

pHashAlgid [out, facoltativo]

Puntatore a una variabile ALG_ID per ricevere l'identificatore dell'algoritmo usato per creare il valore hash. Questo parametro può essere NULL se queste informazioni non sono necessarie.

Valore restituito

Restituisce un codice di stato che indica l'esito positivo o negativo della funzione.

I codici restituiti possibili includono, ma non sono limitati a, i seguenti.

Codice restituito Descrizione
ERROR_SUCCESS
Il file è firmato e la firma è stata verificata.
ERROR_MORE_DATA
Il parametro pbFileHash non è NULL e le dimensioni specificate dal parametro pcbFileHash non sono sufficienti per ricevere l'hash.
ERROR_NOT_ENOUGH_MEMORY
Si è verificato un errore di allocazione della memoria.
TRUST_E_BAD_DIGEST
La firma del file non è stata verificata.
TRUST_E_NOSIGNATURE
Il file non è stato firmato o aveva una firma non valida.

 

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
DLL
Wintrust.dll