QueryCredentialsAttributesA 函数 (sspi.h)
检索凭据的属性,例如与凭据关联的名称。 此信息对于使用指定凭据创建的任何 安全上下文 都有效。
语法
SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesA(
[in] PCredHandle phCredential,
[in] unsigned long ulAttribute,
[out] void *pBuffer
);
参数
[in] phCredential
要查询的凭据的句柄。
[in] ulAttribute
指定要查询 的属性 。 此参数可以是以下任一属性。
值 | 含义 |
---|---|
|
返回类型为 SecPkgCredentials_Cert 的 pbuffer 中的证书指纹。
仅 Kerberos 支持此属性。 Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 此属性不可用。 |
|
返回 SecPkgCredentials_Names 类型的 pbuffer 中的凭据的名称。
Schannel 在 WOW64 模式下不支持此属性。 |
|
返回 SecPkgCred_SupportedAlgs 类型的 pbuffer 中支持的算法。 包括所有支持的算法,无论这些算法是受提供的证书支持还是在本地计算机上启用。
仅 Schannel 支持此属性。 |
|
返回 SecPkgCred_CipherStrengths 类型的 pbuffer 中的密码强度。
仅 Schannel 支持此属性。 |
|
返回 SecPkgCred_SupportedProtocols 类型的 pbuffer 中支持的算法。 包括所有支持的协议,无论这些协议是受提供的证书支持还是在本地计算机上启用。
仅 Schannel 支持此属性。 |
[out] pBuffer
指向接收所请求属性的缓冲区的指针。 返回的结构类型取决于 ulAttribute 的值。
返回值
如果函数成功,则返回值SEC_E_OK。
如果函数失败,则返回值可能是以下错误代码之一。
返回代码 | 说明 |
---|---|
|
传递给函数的句柄无效。 |
|
Schannel 不支持指定的 属性 。 仅当使用 Schannel SSP 时,才会返回此返回值。 |
|
可用内存不足以完成请求。 |
注解
QueryCredentialsAttributes 函数允许应用程序确定凭据的多个特征,包括与指定凭据关联的名称。
查询SECPKG_ATTR_CIPHER_STRENGTHS属性将返回 SecPkgCred_CipherStrengths 结构。 此结构中的密码强度与创建凭据时使用的 SCH_CREDENTIALS 结构中的密码强度相同。
查询SECPKG_ATTR_SUPPORTED_PROTOCOLS属性将返回一个SecPkgCred_SupportedProtocols结构,该结构包含与 SCH_CREDENTIALS 结构的 grbitEnabledProtocols 字段兼容的位数组。
调用方必须分配 pBuffer 参数指向的结构。 安全包为 pBuffer 结构中返回的任何指针分配缓冲区。 调用方可以调用 FreeContextBuffer 函数,以释放安全包分配的任何指针。
注意
sspi.h 标头将 QueryCredentialsAttributes 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | sspi.h (包括 Security.h) |
Library | Secur32.lib |
DLL | Secur32.dll |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈