Función WTHelperGetFileHash

[La función WTHelperGetFileHash está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.

La función WTHelperGetFileHash comprueba la firma de un archivo firmado y obtiene el valor hash y el identificador de algoritmo del archivo.

Nota

Esta función no se declara en un archivo de encabezado publicado. Para usar esta función, declárela en el formato exacto que se muestra. Esta función tampoco tiene ninguna biblioteca de importación asociada. Debe usar las funciones LoadLibrary y GetProcAddress para vincular dinámicamente a Wintrust.dll.

 

Sintaxis

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

Parámetros

pwszFilename [in]

Puntero a una cadena Unicode terminada en null que contiene la ruta de acceso y el nombre de archivo del archivo para el que se va a obtener el hash.

dwFlags [in]

Este parámetro no se usa y debe ser cero.

pvReserved [in, out, optional]

Este parámetro no se usa y debe ser NULL.

pbFileHash [out, opcional]

Puntero a un búfer para recibir el valor hash del archivo. El parámetro pcbFileHash contiene el tamaño de este búfer.

pcbFileHash [in, out, optional]

Puntero a una variable DWORD que, en la entrada, contiene el tamaño, en bytes, del búfer pbFileHash y, en la salida, recibe el tamaño, en bytes, del valor hash.

Para obtener el tamaño necesario del valor hash, pase NULL para el parámetro pbFileHash . Esta función colocará el tamaño necesario, en bytes, del valor hash en esta ubicación.

Si el parámetro pbFileHash no es NULL y el tamaño no es lo suficientemente grande como para recibir el valor hash, esta función colocará el tamaño necesario, en bytes, en esta ubicación y devolverá ERROR_MORE_DATA.

pHashAlgid [out, opcional]

Puntero a una variable ALG_ID para recibir el identificador del algoritmo utilizado para crear el valor hash. Este parámetro puede ser NULL si no se necesita esta información.

Valor devuelto

Devuelve un código de estado que indica el éxito o error de la función.

Entre los posibles códigos de retorno se incluyen, entre otros, los siguientes.

Código devuelto Descripción
ERROR_SUCCESS
El archivo está firmado y se comprobó la firma.
ERROR_MORE_DATA
El parámetro pbFileHash no es NULL y el tamaño especificado por el parámetro pcbFileHash no es lo suficientemente grande como para recibir el hash.
ERROR_NOT_ENOUGH_MEMORY
Error de asignación de memoria.
TRUST_E_BAD_DIGEST
No se comprobó la firma del archivo.
TRUST_E_NOSIGNATURE
El archivo no estaba firmado o tenía una firma que no es válida.

 

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Archivo DLL
Wintrust.dll