Поделиться через


Функция CryptGetDefaultOIDFunctionAddress (wincrypt.h)

Функция CryptGetDefaultOIDFunctionAddress загружает библиотеку DLL, содержащую адрес функции по умолчанию. Он также может вернуть адрес первой или следующей установленной функции идентификатора объекта (OID) в инициализированном наборе функций и загрузить библиотеку DLL, содержащую адрес этой функции.

Синтаксис

BOOL CryptGetDefaultOIDFunctionAddress(
  [in]           HCRYPTOIDFUNCSET  hFuncSet,
  [in]           DWORD             dwEncodingType,
  [in, optional] LPCWSTR           pwszDll,
  [in]           DWORD             dwFlags,
  [out]          void              **ppvFuncAddr,
  [in, out]      HCRYPTOIDFUNCADDR *phFuncAddr
);

Параметры

[in] hFuncSet

Дескриптор набора функций, полученный ранее при вызове CryptInitOIDFunctionSet.

[in] dwEncodingType

Тип кодировки для сопоставления. В настоящее время используются только X509_ASN_ENCODING и PKCS_7_ASN_ENCODING; однако в будущем могут быть добавлены дополнительные типы кодирования. Чтобы сопоставить оба текущих типа кодирования, используйте:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

[in, optional] pwszDll

Имя загружаемой библиотеки DLL. Как правило, имя библиотеки DLL получается из списка, возвращаемого CryptGetDefaultOIDDllList. Если pwszDll имеет значение NULL, поиск выполняется в списке установленных функций по умолчанию.

[in] dwFlags

Зарезервировано для использования в будущем и должно быть равно нулю.

[out] ppvFuncAddr

Указатель на адрес возвращаемой функции. Если функция завершается сбоем, в ppvFuncAddr возвращается значение NULL.

[in, out] phFuncAddr

Используется, только если pwszDll имеет значение NULL. При первом вызове функции *phFuncAddr должен иметь значение NULL , чтобы получить первую установленную функцию.

При успешном выполнении этой функции для *phFuncAddr устанавливается дескриптор функции. Число ссылок для дескриптора функции увеличивается.

После первого вызова функции phFuncAddr присваивается указатель, возвращенный предыдущим вызовом. Этот указатель ввода всегда освобождается в функции посредством вызова этой функцией CryptFreeOIDFunctionAddress . Вызов для освобождения указателя всегда выполняется, даже если функция main возвращает ошибку.

PhFuncAddr, отличный от NULL, должен быть освобожден путем вызова CryptFreeOIDFunctionAddress или путем обратной отправки в качестве входных данных в эту функцию или в качестве входных данных в CryptGetOIDFunctionAddress.

Если pwszDll не равно NULL, значение этого параметра игнорируется и указатель, отличный от NULL , не освобождается.

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

Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).

Если функция завершается сбоем, она возвращает ноль (FALSE).

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header wincrypt.h
Библиотека Crypt32.lib
DLL Crypt32.dll

См. также раздел

Функции поддержки OID