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


Функция CoQueryAuthenticationServices (combaseapi.h)

Извлекает список служб проверки подлинности, зарегистрированных в процессе CoInitializeSecurity.

Синтаксис

HRESULT CoQueryAuthenticationServices(
  [out] DWORD                       *pcAuthSvc,
  [out] SOLE_AUTHENTICATION_SERVICE **asAuthSvc
);

Параметры

[out] pcAuthSvc

Указатель на переменную, которая получает количество записей, возвращаемых в массиве asAuthSvc .

[out] asAuthSvc

Указатель на массив SOLE_AUTHENTICATION_SERVICE структур. Список выделяется посредством вызова функции CoTaskMemAlloc . Вызывающий объект должен освободить список после завершения работы с ним, вызвав функцию CoTaskMemFree .

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

Эта функция может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и S_OK.

Комментарии

CoQueryAuthenticationServices извлекает список служб проверки подлинности, зарегистрированных в данный момент. Если процесс вызывает CoInitializeSecurity, это службы, зарегистрированные с помощью этого вызова. Если приложение не вызывает его, com автоматически вызывает CoInitializeSecurity , регистрируя пакет безопасности по умолчанию, при первом маршалинге или отмене маршалинга интерфейса.

Эта функция возвращает только службы проверки подлинности, зарегистрированные в CoInitializeSecurity. Он возвращает не все службы проверки подлинности, установленные на компьютере, но EnumerateSecurityPackages . CoQueryAuthenticationServices в первую очередь полезен для пользовательских маршалеров, чтобы определить, какие имена субъектов может использовать приложение.

Разные службы проверки подлинности поддерживают разные уровни безопасности. Например, NTLMSSP не поддерживает делегирование или взаимную проверку подлинности, в то время как протокол Kerberos. Приложение отвечает только за регистрацию служб проверки подлинности, которые предоставляют функции, необходимые приложению. Эта функция позволяет узнать, какие службы были зарегистрированы в CoInitializeSecurity.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header combaseapi.h (включая Objbase.h)
Библиотека Ole32.lib
DLL Ole32.dll

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

CoInitializeSecurity

SOLE_AUTHENTICATION_SERVICE

Безопасность в COM