SetCredentialsAttributesW 函数 (sspi.h)

设置 凭据 属性,例如与凭据关联的名称。 此信息对于使用指定凭据创建的任何 安全 上下文都有效。

语法

KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY SetCredentialsAttributesW(
  [in] PCredHandle   phCredential,
  [in] unsigned long ulAttribute,
  [in] void          *pBuffer,
       unsigned long cbBuffer
);

参数

[in] phCredential

要设置的凭据的句柄。

[in] ulAttribute

指定要设置的 属性。 此参数可以是以下任何属性。

价值 意义
SECPKG_CRED_ATTR_NAMES
设置 pBuffer 类型为 SecPkgCredentials_Names的凭据的名称。

WOW64 模式下的 Schannel 不支持此属性。

SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS
在类型为 SecPkgCredentials_KdcProxySettingspBuffer 参数中设置 Kerberos 代理设置。

此属性仅受 Kerberos 支持。

SECPKG_ATTR_SUPPORTED_ALGS
在类型为 SecPkgCred_SupportedAlgspBuffer 参数中设置支持的算法。 包括所有支持的算法,无论它们是否受提供的证书支持,还是在本地计算机上启用。

此属性仅受 Schannel 支持。

SECPKG_ATTR_CIPHER_STRENGTHS
在类型为 SecPkgCred_CipherStrengthspBuffer 参数中设置密码强度。

此属性仅受 Schannel 支持。

SECPKG_ATTR_SUPPORTED_PROTOCOLS
在类型为 SecPkgCred_SupportedProtocolspBuffer 参数中设置支持的算法。 包括所有受支持的协议,无论它们是否受提供的证书支持,还是在本地计算机上启用。

此属性仅受 Schannel 支持。

[in] pBuffer

指向包含新属性值的缓冲区的指针。 返回的结构类型取决于 ulAttribute的值。

cbBuffer

pBuffer 缓冲区的大小(以字节为单位)。

返回值

如果函数成功,则返回值SEC_E_OK。

如果函数失败,则返回值可能是以下错误代码之一。

返回代码 描述
SEC_E_INVALID_HANDLE
传递给函数的句柄无效。
SEC_E_UNSUPPORTED_FUNCTION
Schannel 不支持指定的 属性。 仅当使用 Schannel SSP 时,才会返回此返回值。
SEC_E_INSUFFICIENT_MEMORY
没有足够的内存可用于完成请求。

言论

注意

sspi.h 标头将 SetCredentialsAttributes 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 sspi.h (包括 Security.h)
Secur32.lib
DLL Secur32.dll

另请参阅

AcquireCredentialsHandle

FreeContextBuffer

SCH_CREDENTIALS

SSPI 函数

SecPkgCred_CipherStrengths

SecPkgCred_SupportedAlgs

SecPkgCred_SupportedProtocols

SecPkgCredentials_Names