EnumerateSecurityPackagesA 函式 (sspi.h)

EnumerateSecurityPackages 函式會傳回 SecPkgInfo 結構的數位,以提供用戶端可用安全性套件的相關信息。

語法

SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesA(
  [in] unsigned long *pcPackages,
  [in] PSecPkgInfoA  *ppPackageInfo
);

參數

[in] pcPackages

ULONG 變數的指標,可接收系統上可用的套件數目。 這包括已載入的套件,以及隨選可用的套件。

[in] ppPackageInfo

接收 SecPkgInfo 結構陣列指標之變數的指標。 每個結構都包含 安全性支援提供者的 資訊, (SSP) ,描述該 SSP 內可用安全性套件的功能。

當您完成使用陣列時,呼叫 FreeContextBuffer函 式以釋放記憶體。

傳回值

如果函式成功,函式會傳回 SEC_E_OK

如果函式失敗,則會傳回非零的錯誤碼。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼/值 Description
SEC_E_INSUFFICIENT_MEMORY
0x80090300L
記憶體不足,無法配置一或多個緩衝區。
SEC_E_INVALID_HANDLE
0x80090301L
指定了無效的句柄。
SEC_E_SECPKG_NOT_FOUND
0x80090305L
找不到指定的封裝。

備註

呼叫者可以使用 SecPkgInfo 結構的 Name 成員,在呼叫 AcquireCredentialsHandle (General) 函式中指定安全性套件。

注意

sspi.h 標頭會將 EnumerateSecurityPackages 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 sspi.h (包含 Security.h)
程式庫 Secur32.lib
Dll SspiCli.dll

另請參閱

AcquireCredentialsHandle (General)

FreeContextBuffer

SSPI 函式

SecPkgInfo