CertEnumPhysicalStore 函数 (wincrypt.h)

CertEnumPhysicalStore 函数检索计算机上的物理存储。 函数为找到的每个物理存储调用提供的回调函数。

语法

BOOL CertEnumPhysicalStore(
  [in] const void                   *pvSystemStore,
  [in] DWORD                        dwFlags,
  [in] void                         *pvArg,
  [in] PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum
);

参数

[in] pvSystemStore

如果在 dwFlags 中设置CERT_SYSTEM_STORE_RELOCATE_FLAG, 则 pvSystemStore 指向 CERT_SYSTEM_STORE_RELOCATE_PARA 结构,该结构指示要枚举的系统存储的名称和位置。 否则, pvSystemStore 是指向 Unicode 字符串的指针,该字符串将命名要枚举其物理存储的系统存储。 有关将 ServiceName 或 ComputerName 作为系统存储名称前缀的信息,请参阅 CertRegisterSystemStore

[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或CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG。

[in] pvArg

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

[in] pfnEnum

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

返回值

如果函数成功,并且找到了另一个物理存储区,则返回值为 TRUE

如果系统存储位置仅支持系统存储,而不支持物理存储,则函数返回 FALSEGetLastError 返回ERROR_NOT_SUPPORTED代码。

如果函数失败,并且找不到另一个物理存储,则返回值为 FALSE。 有关扩展的错误信息,请调用 GetLastError

注解

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

示例

请参阅 示例 C 程序:列出系统和物理存储

要求

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

另请参阅

CERT_SYSTEM_STORE_RELOCATE_PARA

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertRegisterSystemStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

证书存储函数