Функция CryptGetHashParam (wincrypt.h)
Синтаксис
BOOL CryptGetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[out] BYTE *pbData,
[in, out] DWORD *pdwDataLen,
[in] DWORD dwFlags
);
Параметры
[in] hHash
Дескриптор запрашиваемого хэш-объекта.
[in] dwParam
Тип запроса. Для этого параметра можно задать один из следующих запросов.
Значение | Значение |
---|---|
|
ALG_ID, указывающий алгоритм, указанный при создании хэш-объекта. Список хэш-алгоритмов см. в разделе CryptCreateHash. |
|
Значение DWORD, указывающее количество байтов в хэш-значении. Это значение зависит от хэш-алгоритма. Приложения должны получить это значение непосредственно перед значением HP_HASHVAL, чтобы можно было выделить правильный объем памяти. |
|
Хэш-значение или хэш сообщения для хэш-объекта, указанного hHash. Это значение создается на основе данных, предоставленных хэш-объекту ранее с помощью функций CryptHashData и CryptHashSessionKey .
Функция CryptGetHashParam завершает хэш. После вызова CryptGetHashParam больше нельзя добавить данные в хэш. Дополнительные вызовы CryptHashData или CryptHashSessionKey завершаются ошибкой . После завершения работы приложения с хэшем необходимо вызвать CryptDeographyHash , чтобы уничтожить хэш-объект. |
[out] pbData
Указатель на буфер, получающий указанные данные значений. Форма этих данных зависит от номера значения.
Этот параметр может иметь значение NULL для определения требуемого размера памяти.
[in, out] pdwDataLen
Указатель на значение DWORD , указывающее размер буфера pbData в байтах. При возврате функции значение DWORD содержит количество байтов, хранящихся в буфере.
Если pbData имеет значение NULL, задайте значение pdwDataLen равным нулю.
[in] dwFlags
Зарезервировано для использования в будущем и должно быть равно нулю.
Возвращаемое значение
Если функция выполнена успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Коды ошибок, предваряемые "NTE", создаются конкретным поставщиком служб CSP, который вы используете. Ниже приведены некоторые возможные коды ошибок.
Код возврата | Описание |
---|---|
|
Один из параметров указывает недопустимый дескриптор. |
|
Один из параметров содержит недопустимое значение. Чаще всего это недопустимый указатель. |
|
Если буфер, заданный параметром pbData , недостаточно велик для хранения возвращаемых данных, функция задает код ERROR_MORE_DATA и сохраняет требуемый размер буфера в байтах в переменной, на которую указывает pdwDataLen. |
|
Параметр dwFlags не равен нулю. |
|
Хэш-объект, заданный параметром hHash , недопустим. |
|
Параметр dwParam указывает неизвестное число значений. |
|
Не удается найти контекст CSP, указанный при создании хэша. |
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |