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
[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,如果 pvSystemStoreLocationPara 为 NULL,则该函数将枚举每个服务/用户名的服务/用户名和存储。 否则, pvSystemStoreLocationPara 是一个 Unicode 字符串,其中包含远程计算机名称和服务/用户名(如果可用),例如“service_name”、“\\computer_name”或“computer_name”。
如果仅指定 computer_name ,则它必须具有前导反斜杠 (\) 或尾随反斜杠 (\) 。 否则,它将解释为 service_name 或 user_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 |