Функция CryptGetOIDFunctionAddress (wincrypt.h)
Функция CryptGetOIDFunctionAddress выполняет поиск соответствия типа кодирования и идентификатора объекта (OID) в списке зарегистрированных и установленных функций. При обнаружении совпадения библиотека DLL, содержащая функцию, при необходимости загружается. При обнаружении совпадения также возвращаются указатель на адрес функции и указатель на дескриптор функции. Количество ссылок на дескриптор функции увеличивается.
Синтаксис
BOOL CryptGetOIDFunctionAddress(
[in] HCRYPTOIDFUNCSET hFuncSet,
[in] DWORD dwEncodingType,
[in] LPCSTR pszOID,
[in] DWORD dwFlags,
[out] void **ppvFuncAddr,
[out] HCRYPTOIDFUNCADDR *phFuncAddr
);
Параметры
[in] hFuncSet
Дескриптор набора функций, полученный ранее при вызове функции CryptInitOIDFunctionSet .
[in] dwEncodingType
Указывает тип кодировки для сопоставления. В настоящее время используются только X509_ASN_ENCODING и PKCS_7_ASN_ENCODING; однако в будущем можно добавить дополнительные типы кодирования. Чтобы сопоставить оба текущих типа кодирования, используйте:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Для функций, которые не используют тип кодирования, задайте для этого параметра нулевое значение.
[in] pszOID
Если слово высокого порядка в OID не равно нулю, pszOID является указателем на строку OID, например "2.5.29.1", или строку ASCII , например "file". Если высокоупорядоченное слово OID равно нулю, слово нижнего порядка указывает числовой идентификатор, который будет использоваться в качестве идентификатора объекта. Полученный OID сопоставляется с функцией, которая была установлена или зарегистрирована в том же OID.
[in] dwFlags
Этот параметр может иметь следующее значение.
Значение | Значение |
---|---|
|
Выполняет поиск только по установленному списку функций. |
[out] ppvFuncAddr
Указатель на указатель на адрес функции. Если совпадение найдено, ppvFuncAddr указывает на адрес функции.
[out] phFuncAddr
Если совпадение найдено, phFuncAddr указывает на дескриптор функции. Число ссылок для дескриптора увеличивается. Завершив использование дескриптора, отпустите дескриптор, вызвав функцию CryptFreeOIDFunctionAddress .
Возвращаемое значение
Если функция выполнена успешно и найдено совпадение, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем или совпадение не найдено, возвращается ноль (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Комментарии
Можно вызвать CryptGetOIDFunctionAddress с аргументом pszOID , равным CMSG_DEFAULT_INSTALLABLE_FUNC_OID , чтобы получить устанавливаемую функцию по умолчанию для следующих функций обратного вызова.
Для получения функций по умолчанию присвойте dwEncodingType побитовое или сочетание следующих типов кодирования.
CRYPT_ASN_ENCODINGX509_ASN_ENCODING
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |