DWORD CPCAPI CPCGetDefaultConfig( LPCPC_CONFIG pConfig, LPVOID pvReserved );
Функция CPCGetDefaultConfig заполняет созданную пользователем структуру CPC_CONFIG_ настройками по умолчанию.
Настройки по умолчанию:
Член CPC_CONFIG_ | Описание |
---|---|
LPCPC_MEMORY_ARENA pArena | Не изменяется. Должен быть задан пользователем до или после вызова данной функции. Можно использовать простой менеджер памяти, предоставляемый функцией CPCInitMemoryLF. |
CPC_FAST_CODE FuncStruct | Windows/Linux/FreeBSD 8.2 или выше: Заполняется стандартными функциями сохранения/восстановления FPU/MMX/SSE/AVX. Solaris amd64: Настраивается на использование SSSE3 и устанавливается флаг CSP_FAST_CODE_DISABLE_AVX. Solaris ia32 и FreeBSD до 8.1: не имеют стандартных возможностей для сохранения/восстановления FPU/MMX/SSE/AVX, устанавливается флаг CPC_FAST_CODE_NO. |
CPC_LOG_CONFIG logConfig | Windows: Устанавливается уровень вывода сообщений, включающий ошибки и критические ошибки, задаются необходимые Callback-функции. Данные Callback-функции выводят сообщения с помощью функции DbgPrint и могут быть прочитаны в отладчике уровня ядра. Linux/FreeBSD/Solaris: Не устанавливаются, должен быть задан пользователем. |
CPC_HARDWARE_RNG hardwareRNG | Заполняется нулями. При необходимости использования аппаратного датчика случайных чисел пользователь должен сам реализовать соответствующие функции. |
CPC_INTERLOCKED_FUNCS interlockedFuncs | Заполняется нулями, поскольку используется только на процессорах ARM и sparc-v8 (32). |
CPC_LOCK_FUNCS lockFuncs | Windows: R/W блокировки ExAcquireResourceSharedLite/ExAcquireResourceSharedLite совместно с CriticalRegion, поэтому без флага CRYPT_NOSERIALIZE CSP может быть вызван только при IRQL <= APC_LEVEL. Linux/FreeBSD/Solaris: Заполняется нулями. При этом пользователь должен, либо самостоятельно реализовать соответствующие callback функции, либо обеспечить недопущение параллельного вызова функций, влияющих на глобальное состояние провайдера (CPCAcquireContext, CPCReleaseContext, CPCSetProvParam (PP_USE_HARDWARE_RNG, PP_RANDOM)). |
CPC_TIME_FUNCS timeFuncs | Задаются необходимые Callback-функции. |
CPC_ALG_PARAMS algParams | Заполняется нулями, что обеспечивает использование параметров алгоритмов по умолчанию. |
DWORD MaxHandles | Устанавливается равным значению по умолчанию. |
DWORD dwTesterPeriod | Устанавливается равным значению по умолчанию. |
DWORD dwTesterTimeout | Устанавливается равным значению по умолчанию. |
const TCHAR *license; | Заполняется драйверной лицензией на "КриптоПро CSP 5.0", если таковая установлена, или NULL в противном случае. |
Коды возврата | Описание |
---|---|
E_INVALIDARG | Неверно заданы параметры. |