CredReadA 函数 (wincred.h)

CredRead 函数从用户的凭据集中读取凭据。 使用的凭据集是与当前令牌的登录会话关联的凭据集。 令牌不得禁用用户的 SID。

语法

BOOL CredReadA(
  [in]  LPCSTR       TargetName,
  [in]  DWORD        Type,
  [in]  DWORD        Flags,
  [out] PCREDENTIALA *Credential
);

参数

[in] TargetName

指向包含要读取的凭据名称的 null 终止字符串的指针。

[in] Type

要读取的凭据的类型。 类型 必须是CRED_TYPE_* 定义的类型之一。

[in] Flags

当前保留且必须为零。

[out] Credential

指向单个分配块缓冲区的指针以返回凭据。 缓冲区中包含的任何指针都是指向此单个分配块内的位置的指针。 必须通过调用 credFree调用 释放单个返回的缓冲区。

返回值

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

  • ERROR_NOT_FOUND

    指定 TargetName不存在凭据。

  • ERROR_NO_SUCH_LOGON_SESSION

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

  • ERROR_INVALID_FLAGS

    标志 参数指定了无效的标志。

言论

如果 Credential 参数指定的 CREDENTIAL 结构的 Type 成员的值 CRED_TYPE_DOMAIN_EXTENDED,则必须在目标名称中指定命名空间。 此函数只能返回指定类型的一个凭据。

注意

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

要求

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