Функция
CPCDuplicateHash() создаёт точную копию объекта функции хэширования, включая все его переменные, определяющие внутреннее состояние объекта функции хэширования.
DWORD CPCAPI CPCDuplicateHash(
HCRYPTMODULE hCSP,
HCRYPTPROV hProv,
HCRYPTHASH hHash,
DWORD * pdwReserved,
DWORD dwFlags,
HCRYPTHASH * phHash
);
Аргументы
- hCSP
- [in] Указатель на таблицу функций криптопровайдера. Получается при помощи функции CPCCreateProvider()
- hProv
- [in] Дескриптор криптопровайдера. Получается при помощи функции CPCAcquireContext().
- hHash
- [in] Дескриптор объекта функции хэширования.
- pdwReserved
- [in] Параметр зарезервирован для будущего использования и должен быть NULL.
- dwFlags
- [in] Параметр зарезервирован для будущего использования и должен быть нулевым.
- phHash
- [out] Адрес, по которому функция копирует дескриптор нового объекта функции хэширования.
Возвращаемые значения
При успешном завершении функция возвращает 0 (S_OK), в противном случае возвращается соответствующий код ошибки (см. таблицу).
Коды возврата | Описание |
---|
ERROR_INVALID_PARAMETER | Один из параметров содержит некорректное значение. Чаще всего это некорректный указатель. |
NTE_BAD_HASH | Дескриптор исходного хэша ошибочен. |
NTE_NO_MEMORY | Криптопровайдер во время операции исчерпал память. |
NTE_BAD_FLAGS | Параметр dwFlags имеет ненулевое значение. |
Требования:
Ядро FreeBSD: 7/8/9 или выше
Ядро Linux: ядро 2.4.x/2.6.x/3.0.х/3.2.х или выше
Ядро Solaris: 10/11 или выше.
Ядро Windows 2000/XP/2003/Vista/2008/7: Необходимо Windows 2000 SP4 или старше.
См. также
CPCDestroyHash() ,CPDuplicateHash в MS CSP ,CryptDuplicateHash в MS CryptoAPI 2.0