CertEnumSystemStore 函数 (wincrypt.h)

CertEnumSystemStore 函数检索可用的系统存储。 函数为找到的每个系统存储调用提供的回调函数。

语法

BOOL CertEnumSystemStore(
  [in]           DWORD                      dwFlags,
  [in, optional] void                       *pvSystemStoreLocationPara,
  [in]           void                       *pvArg,
  [in]           PFN_CERT_ENUM_SYSTEM_STORE pfnEnum
);

参数

[in] dwFlags

指定系统存储区的位置。 此参数可以是以下标志之一:

  • CERT_SYSTEM_STORE_CURRENT_USER
  • CERT_SYSTEM_STORE_CURRENT_SERVICE
  • CERT_SYSTEM_STORE_LOCAL_MACHINE
  • CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
  • CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY
  • CERT_SYSTEM_STORE_SERVICES
  • CERT_SYSTEM_STORE_USERS
  • CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE
此外,可以通过使用按位 OR 运算将CERT_SYSTEM_STORE_RELOCATE_FLAG与任何高字位置标志组合在一起。

[in, optional] pvSystemStoreLocationPara

如果在 dwFlags 参数中设置了CERT_SYSTEM_STORE_RELOCATE_FLAG, 则 pvSystemStoreLocationPara 指向指示系统存储名称和位置 的CERT_SYSTEM_STORE_RELOCATE_PARA 结构。 否则, pvSystemStoreLocationPara 是指向命名系统存储的 Unicode 字符串的指针。

对于CERT_SYSTEM_STORE_LOCAL_MACHINE或CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY, 可以选择将 pvSystemStoreLocationPara 设置为 Unicode 计算机名称,以枚举远程计算机上的本地计算机存储,例如“\\computer_name”或“computer_name”。 前导反斜杠 (\) 在 computer_name中是可选的。

对于CERT_SYSTEM_STORE_SERVICES或CERT_SYSTEM_STORE_USERS,如果 pvSystemStoreLocationParaNULL,则该函数将枚举每个服务/用户名的服务/用户名和存储。 否则, pvSystemStoreLocationPara 是一个 Unicode 字符串,其中包含远程计算机名称和服务/用户名(如果可用),例如“service_name”、“\\computer_name”或“computer_name”。

如果仅指定 computer_name ,则它必须具有前导反斜杠 (\) 或尾随反斜杠 (\) 。 否则,它将解释为 service_nameuser_name

[in] pvArg

指向 void 的指针,它允许应用程序声明、定义和初始化结构,以保存要传递给回调枚举函数的任何信息。

[in] pfnEnum

指向回调函数的指针,用于显示每个系统存储的详细信息。 此回调函数确定每个系统存储上信息呈现的内容和格式。 应用程序必须提供 CertEnumSystemStoreCallback 回调函数。

返回值

如果该函数成功,则函数返回 TRUE

如果函数失败,则返回 FALSE

注解

若要使用 CertEnumSystemStore,应用程序必须声明并定义 ENUM_ARG 结构和 CertEnumSystemStoreCallback 回调函数。

示例

有关使用此函数的示例,请参阅 示例 C 程序:列出系统和物理存储

要求

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

另请参阅

CERT_SYSTEM_STORE_RELOCATE_PARA

CertEnumPhysicalStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertRegisterSystemStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

证书存储函数