Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция CryptRegisterOIDFunction регистрирует библиотеку DLL, содержащую функцию для вызова для указанного типа кодирования, имени функции и идентификатора объекта (OID).
По умолчанию новые имена функций устанавливаются в конце списка. Чтобы зарегистрировать новую функцию перед установленными функциями, вызовите функцию CryptSetOIDFunctionValueValue с параметром dwValueType , для REG_DWORD иpwszValueName , для CRYPT_OID_REG_FLAGS_VALUE_NAME.
CRYPT_OID_REG_FLAGS_VALUE_NAME определяется как L"CryptFlags".
Помимо регистрации библиотеки DLL, можно переопределить имя вызываемой функции. Например, для параметра pszFuncName можно задать значение CryptDllEncodeObject, а для параметра pszOverrideFuncName — значение MyEncodeXyz. Затем можно ссылаться на новую форму CryptDllEncodeObject с помощью имени MyEncodeXyz. Это позволяет библиотеке DLL экспортировать несколько функций OID для одного и того же имени функции без необходимости скрестить собственную функцию диспетчера OID.
Синтаксис
BOOL CryptRegisterOIDFunction(
[in] DWORD dwEncodingType,
[in] LPCSTR pszFuncName,
[in] LPCSTR pszOID,
[in] LPCWSTR pwszDll,
[in] LPCSTR pszOverrideFuncName
);
Параметры
[in] dwEncodingType
Указывает тип кодировки для сопоставления. В настоящее время используются только X509_ASN_ENCODING и PKCS_7_ASN_ENCODING; однако в будущем могут быть добавлены дополнительные типы кодирования. Чтобы сопоставить оба текущих типа кодировки, используйте:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pszFuncName
Имя регистраемой функции.
[in] pszOID
OID регистраемой функции. Если слово высокого порядка в OID не равно нулю, pszOID является указателем на строку OID, например "2.5.29.1", или строку ASCII , например "file". Если слово высокого порядка в OID равно нулю, слово нижнего порядка задает числовой идентификатор, который будет использоваться в качестве идентификатора объекта.
[in] pwszDll
Имя dll-файла, который необходимо зарегистрировать. Он может содержать строки переменных среды, которые необходимо развернуть с помощью функции ExpandEnvironmentStrings перед загрузкой библиотеки DLL.
[in] pszOverrideFuncName
Строка, указывающая имя функции, экспортируемой в библиотеку DLL. Если pszOverrideFuncName имеет значениеNULL, используется имя функции, указанное в параметре pszFuncName .
Возвращаемое значение
Если функция выполнена успешно, возвращается ненулевое значение (TRUE).
Если функция завершается сбоем, возвращаемое значение равно нулю (FALSE).
Комментарии
Завершив использование функции OID, отмените ее регистрацию, вызвав функцию CryptUnregisterOIDFunction .
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows XP [только классические приложения] |
| Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
| Целевая платформа | Windows |
| Header | wincrypt.h |
| Библиотека | Crypt32.lib |
| DLL | Crypt32.dll |