EnumerateSecurityPackagesW 函数 (sspi.h)
EnumerateSecurityPackages 函数返回一组 SecPkgInfo 结构,这些结构提供有关客户端可用的 安全 包的信息。
语法
KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesW(
[in] unsigned long *pcPackages,
[in] PSecPkgInfoW *ppPackageInfo
);
参数
[in] pcPackages
指向 ULONG 变量的指针,该变量接收系统上可用的包数。 这包括已加载的包和按需可用的包。
[in] ppPackageInfo
指向接收指向 SecPkgInfo 结构的数组的指针的变量的指针。 每个结构都包含来自 安全支持提供程序(SSP)的信息,这些信息描述了该 SSP 中可用的安全包的功能。
使用完数组后,通过调用 FreeContextBuffer 函数释放内存。
返回值
如果函数成功,该函数将返回 SEC_E_OK。
如果函数失败,它将返回非零错误代码。 可能的值包括但不限于下表中的值。
返回代码/值 | 描述 |
---|---|
|
没有足够的内存来分配一个或多个缓冲区。 |
|
指定了无效句柄。 |
|
找不到指定的包。 |
言论
调用方可以使用 SecPkgInfo 结构的 Name 成员来指定对 AcquireCredentialsHandle (常规) 函数的调用中的安全包。
注意
sspi.h 标头将 EnumerateSecurityPackages 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | sspi.h (包括 Security.h) |
库 | Secur32.lib |
DLL | SspiCli.dll |