Функция CryptCATAdminCalcHashFromFileHandle2 (mscat.h)

Функция CryptCATAdminCalcHashFromFileHandle2 вычисляет хэш файла с помощью указанного алгоритма.

У этой функции нет связанной библиотеки импорта. Для динамического связывания с Wintrust.dll необходимо использовать функции LoadLibrary и GetProcAddress .

Синтаксис

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

Параметры

[in] hCatAdmin

Дескриптор контекста администратора открытого каталога. Дополнительные сведения см. в разделе CryptCATAdminAcquireContext2.

[in] hFile

Дескриптор для файла, хэш которого вычисляется. Этот параметр не может иметь значение NULL и должен быть допустимым дескриптором файла.

[in, out] pcbHash

Указатель на переменную DWORD , содержащую количество байтов в параметре pbHash . После ввода задайте для pcbHash число байтов, выделенных для pbHash. После возврата pcbHash содержит количество возвращаемых байтов в pbHash. Если pbHash имеет значение NULL, pcbHash содержит количество байтов, выделяемых для pbHash.

pbHash

Указатель на буфер BYTE , который получает хэш. Если для этого параметра задано значение NULL, pcbHash будет содержать количество байтов, выделяемых для pbHash, и последующий вызов может быть выполнен для получения хэша.

dwFlags

Зарезервировано. Это значение должно быть равно нулю.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение не равно нулю (TRUE).

Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.

В следующей таблице перечислены коды ошибок, наиболее часто возвращаемые функцией GetLastError .

Код возврата Описание
ERROR_INVALID_PARAMETER
Параметр hFile не должен иметь значение NULL.

Параметр hFile должен быть допустимым дескриптором файла.

Параметр pcbHash не должен иметь значение NULL.

Параметр dwFlags должен быть равен нулю (0).

ERROR_INSUFFICIENT_BUFFER
Буфер, на который указывает параметр pbHash , не имеет значения NULL , но не имеет достаточного размера для записи. Правильный размер требуемого буфера содержится в значении, на которое указывает параметр pcbHash .
NTE_BAD_ALGID
Не удается найти хэш-алгоритм, заданный параметром pwszHashAlgorithm .

Комментарии

Время выполнения этой функции зависит от длины хэшируемого файла, используемого алгоритма и расположения файла. Например, вычисление хэша локального файла очень большого размера (несколько сотен мегабайт) занимает несколько секунд.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header mscat.h
Библиотека Wintrust.lib
DLL Wintrust.dll

См. также раздел

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2