CredEnumerateA 函数 (wincred.h)
CredEnumerate 函数枚举用户凭据集中的凭据。 使用的凭据集是与当前令牌的登录会话关联的凭据集。 该令牌不得禁用用户的 SID。
语法
BOOL CredEnumerateA(
[in] LPCSTR Filter,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALA **Credential
);
参数
[in] Filter
指向以 null 结尾的字符串的指针,该字符串包含返回凭据的筛选器。 仅返回 TargetName 与筛选器匹配的凭据。 筛选器指定名称前缀,后跟星号。 例如,筛选器“FRED*”将返回 TargetName 以字符串“FRED”开头的所有凭据。
如果指定 NULL ,则将返回所有凭据。
[in] Flags
此参数的值可以是与按位 OR 运算组合的以下值的零个或多个值。
[out] Count
凭据数组中返回的 凭据 计数。
[out] Credential
指向指向凭据的指针数组的指针的指针。 返回的凭据是单个分配的块。 缓冲区中包含的任何指针都是指向此单个分配块内的位置的指针。 必须通过调用 CredFree 来释放单个返回的缓冲区。
返回值
该函数在成功时返回 TRUE ,在失败时返回 FALSE 。 可以调用 GetLastError 函数以获取更具体的状态代码。 可以返回以下状态代码。
返回代码/值 | 说明 |
---|---|
|
不存在与指定 筛选器匹配的凭据。 |
|
登录会话不存在,或者没有与此登录会话关联的凭据集。 网络登录会话没有关联的凭据集。 |
|
为 Flags 参数指定了无效的标志,或者为 Flags 参数指定了CRED_ENUMERATE_ALL_CREDENTIALS,而 Filter 参数不是 NULL。 |
注解
注意
wincred.h 标头将 CredEnumerate 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincred.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |