Функция 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 .
Код возврата | Описание |
---|---|
|
Параметр hFile не должен иметь значение NULL.
Параметр hFile должен быть допустимым дескриптором файла. Параметр pcbHash не должен иметь значение NULL. Параметр dwFlags должен быть равен нулю (0). |
|
Буфер, на который указывает параметр pbHash , не имеет значения NULL , но не имеет достаточного размера для записи. Правильный размер требуемого буфера содержится в значении, на которое указывает параметр pcbHash . |
|
Не удается найти хэш-алгоритм, заданный параметром pwszHashAlgorithm . |
Комментарии
Время выполнения этой функции зависит от длины хэшируемого файла, используемого алгоритма и расположения файла. Например, вычисление хэша локального файла очень большого размера (несколько сотен мегабайт) занимает несколько секунд.
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | mscat.h |
Библиотека | Wintrust.lib |
DLL | Wintrust.dll |