Función CryptCATAdminCalcHashFromFileHandle2 (mscat.h)

La función CryptCATAdminCalcHashFromFileHandle2 calcula el hash de un archivo mediante el algoritmo especificado.

Esta función no tiene ninguna biblioteca de importación asociada. Debe usar las funciones LoadLibrary y GetProcAddress para vincular dinámicamente a Wintrust.dll.

Sintaxis

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

Parámetros

[in] hCatAdmin

Identificador de un contexto de administrador de catálogo abierto. Para obtener más información, vea CryptCATAdminAcquireContext2.

[in] hFile

Identificador del archivo cuyo hash se está calculando. Este parámetro no puede ser NULL y debe ser un identificador de archivo válido.

[in, out] pcbHash

Puntero a una variable DWORD que contiene el número de bytes en el parámetro pbHash . Tras la entrada, establezca pcbHash en el número de bytes asignados para pbHash. Tras la devolución, pcbHash contiene el número de bytes devueltos en pbHash. Si pbHash se establece en NULL, pcbHash contiene el número de bytes que se asignarán para pbHash.

pbHash

Puntero a un búfer BYTE que recibe el hash. Si establece este parámetro en NULL, pcbHash contendrá el número de bytes que se asignarán para pbHash y se puede realizar una llamada posterior para recuperar el hash.

dwFlags

Reservado. Este valor debe ser cero.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE).

Si se produce un error en la función, el valor devuelto es cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

En la tabla siguiente se enumeran los códigos de error devueltos normalmente por la función GetLastError .

Código devuelto Descripción
ERROR_INVALID_PARAMETER
El parámetro hFile no debe ser NULL.

El parámetro hFile debe ser un identificador de archivo válido.

El parámetro pcbHash no debe ser NULL.

El parámetro dwFlags debe ser cero (0).

ERROR_INSUFFICIENT_BUFFER
El búfer al que apunta el parámetro pbHash no era NULL , pero no era lo suficientemente grande como para escribirse. El tamaño correcto del búfer necesario se encuentra en el valor al que apunta el parámetro pcbHash .
NTE_BAD_ALGID
No se encuentra el algoritmo hash especificado por el parámetro pwszHashAlgorithm .

Comentarios

La cantidad de tiempo que tarda esta función en ejecutarse depende de la longitud del archivo que se va a aplicar un algoritmo hash, del algoritmo que se usa y de la ubicación del archivo. Por ejemplo, se tardan varios segundos en calcular el hash de un archivo local que es muy grande (unos cientos de megabytes).

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mscat.h
Library Wintrust.lib
Archivo DLL Wintrust.dll

Consulte también

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2