Крипто-Про CSP

CPGetHashParam

Функция CPGetHashParam() возвращает параметры объекта функции хеширования и значение функции хеширования.

BOOL WINAPI CPGetHashParam(
  HCRYPTPROV hProv,
  HCRYPTHASH hHash,
  DWORD dwParam,
  BYTE * pbData,
  DWORD * pdwDataLen,
  DWORD dwFlags
);

Аргументы

hProv
[in] Дескриптор криптопровайдера. Получается при помощи функции CPAcquireContext().
hHash
[in] Дескриптор объекта функции хеширования, параметры которого определяются.
dwParam
[in] Параметр, принимающий следующие возможные значения:
Значение dwParam Содержимое буфера pbData
HP_ALGID Алгоритм функции хеширования. Идентификатор алгоритма (ALG_ID), соответствующий данному объекту функции хеширования. Возвращается через буфер pbData . В pdwDataLen будет возвращена величина 4.
HP_HASHSIZE Размер значения функции хеширования. Величина DWORD, определяющая число байтов в значении функции хеширования, будет возвращена через буфер pbData . В pdwDataLen будет возвращена величина 4.
HP_HASHVAL Значение функции хеширования. Вычисленное значение функции хеширования будет возвращено через буфер pbData . Длина значения функции хеширования будет возвращена в pdwDataLen .
*pbData
[out] Указатель на буфер данных параметра. Функция копирует соответствующие параметру данные в буфер. Формат этих данных зависит от значения dwParam. Если параметр - NULL, то данные не копируются. Требуемый размер буфера в байтах возвращается в pdwDataLen . Подробнее см. Возвращение данных неопределенной длины.
*pdwDataLen
[in/out] Указатель на буфер, содержащий длину данных параметра. При вызове функции указанный параметр содержит число байтов в буфере pbData . После её исполнения параметр будет установлен числом байтов данных параметра, скопированных в буфер pbData . Если буфер, соответствующий pbData, недостаточно большой, чтобы в него копировать запрошенные данные, будет возвращен код ошибки ERROR_MORE_DATA через функцию SetLastError(). В этом случае требуемый размер буфера возвращается в pdwDataLen . Если функция завершается с кодом ошибки, отличным от ERROR_MORE_DATA, в этом параметре возвращается ноль.
dwFlags
[in] Значения флагов. установленного в реестре флага равноПараметр зарезервирован для будущего использования и должен быть нулевым.

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

При успешном завершении функция возвращает TRUE, в противном случае возвращается FALSE. Если возвращается FALSE, соответствующий код ошибки (см. таблицу) может быть получен через функцию GetLastError().
Коды возврата Описание
ERROR_MORE_DATA Размер буфера pbData недостаточен для копирования затребованных данных.
NTE_BAD_FLAGS Параметр dwFlags имеет ненулевое значение.
NTE_BAD_TYPE Параметр dwParam передаёт неизвестное значение параметра.

Требования:

Windows 2000/XP/2003: Необходимо Windows 2000 SP4 или старше с Internet Explorer 6.0 или старше.
Windows NT/95/98/ME: CSP 3.0 не поддерживает (см. КриптоПро CSP 2.0 World Wide Web link ).
Solaris: 9 Update 4 или выше.
FreeBSD: FreeBSD 5.2 или выше
Linux: RedHat 7.3, RedHad 9.0.
Файл описания: Прототип описан в файле wincsp.h.
Ядро Windows NT: IRQL < DISPATCH_LEVEL

См. также:

CPCreateHash() ,CPGetKeyParam() ,CPSetHashParam() ,CPGetHashParam в MS CSP World Wide Web link ,CryptGetHashParam в MS CryptoAPI 2.0 World Wide Web link

Крипто-Про CSP Версия: 3.0 Сборка 3293
Что Вы думаете по поводу данной статьи?
Закажите CD c Крипто-Про CSP