CertEnumCTLsInStore 函数 (wincrypt.h)

CertEnumCTLsInStore 函数检索证书存储 (CTL) 上下文的第一个或下一个证书信任列表。 在循环中使用,此函数可以按顺序检索证书存储中的所有 CTL 上下文。

语法

PCCTL_CONTEXT CertEnumCTLsInStore(
  [in] HCERTSTORE    hCertStore,
  [in] PCCTL_CONTEXT pPrevCtlContext
);

参数

[in] hCertStore

证书存储的句柄。

[in] pPrevCtlContext

指向找到的上一 个CTL_CONTEXT 结构的指针。 必须为 NULL 才能获取存储中的第一个 CTL。 通过将 pPrevCtlContext 设置为上一次调用返回的指针来枚举连续的 CTL。 此函数释放此参数的非 NULL 值引用的CTL_CONTEXT。 枚举将跳过以前由 CertDeleteCTLFromStore 删除的任何 CTL。

返回值

如果函数成功,则返回值是指向只读 CTL_CONTEXT的指针。

如果函数失败且找不到 CTL,则返回值为 NULL。 有关扩展的错误信息,请调用 GetLastError

下面是一些可能的错误代码。

返回代码 说明
CRYPT_E_NOT_FOUND
存储中不存在 CTL,或者函数到达存储列表的末尾。
E_INVALIDARG
hCertStore 参数中的句柄与 pPrevCtlContext 参数指向的 CTL 上下文中的句柄不同。

注解

在后续调用中作为 pPrevCtlContext 传递时,将释放返回的指针。 否则,必须通过调用 CertFreeCTLContext 显式释放指针。 此函数始终通过调用 CertFreeCTLContext () 释放不为 NULLpPrevCtlContext即使出现错误也是如此。

可以通过调用 CertDuplicateCTLContext 进行复制。

要求

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

另请参阅

CTL_CONTEXT

CertDeleteCTLFromStore

CertDuplicateCTLContext

CertFindCTLInStore

CertFreeCTLContext

证书信任列表函数