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
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

CoInitializeSecurity

SOLE_AUTHENTICATION_SERVICE

COM 中的安全性