CredGetSessionTypes 函数 (wincred.h)

CredGetSessionTypes 函数返回当前登录会话支持的最大持久性。 为每个凭据类型返回单独的最大持久性。

语法

BOOL CredGetSessionTypes(
  [in]  DWORD   MaximumPersistCount,
  [out] LPDWORD MaximumPersist
);

参数

[in] MaximumPersistCount

MaximumPersist 数组中的元素数。 使用 CRED_TYPE_MAXIMUM 返回所有当前定义的凭据类型。

[out] MaximumPersist

指向要返回中的持久性值的数组的指针。 传入数组的 应为 Long 的 MaximumPersistCount 元素。 返回时,每个元素指定相应凭据类型支持的最大持久性。

调用方应使用以下定义之一在数组中编制索引:

  • CRED_TYPE_GENERIC
  • CRED_TYPE_DOMAIN_PASSWORD
  • CRED_TYPE_DOMAIN_CERTIFICATE
也就是说, MaximumPersist[CRED_TYPE_GENERIC] 指定泛型凭据支持的最大持久性。

可以在数组的每个元素中返回以下值。

含义
CRED_PERSIST_NONE
不能存储任何凭据。 如果凭据类型不受支持或已被策略禁用,将返回此值。
CRED_PERSIST_SESSION
只能存储特定于会话的凭据。
CRED_PERSIST_LOCAL_MACHINE
可以存储特定于会话的凭据和特定于计算机的凭据。

Windowsxp: 无法为未加载配置文件的会话存储此凭据。

CRED_PERSIST_ENTERPRISE
可以存储任何凭据。

Windowsxp: 无法为未加载配置文件的会话存储此凭据。

返回值

此函数在成功时返回 TRUE ,在失败时返回 FALSE 。 可以调用 GetLastError 函数以获取更具体的状态代码。 可以返回以下状态代码:

ERROR_NO_SUCH_LOGON_SESSION

登录会话不存在,或者没有与此登录会话关联的凭据集。 网络登录会话没有关联的凭据集。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 wincred.h
Library Advapi32.lib
DLL Advapi32.dll