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)
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

CoInitializeSecurity

SOLE_AUTHENTICATION_SERVICE

COM 中的安全性