CertRegisterSystemStore 函数 (wincrypt.h)
CertRegisterSystemStore 函数注册系统存储。
语法
BOOL CertRegisterSystemStore(
[in] const void *pvSystemStore,
[in] DWORD dwFlags,
[in] PCERT_SYSTEM_STORE_INFO pStoreInfo,
[in] void *pvReserved
);
参数
[in] pvSystemStore
标识要注册的系统存储。 如果在 dwFlags 参数中设置了CERT_SYSTEM_STORE_RELOCATE_FLAG, 则 pvSystemStore 指向 CERT_SYSTEM_STORE_RELOCATE_PARA 结构。 否则,它将指向一个 以 null 结尾的 Unicode 字符串,该字符串将系统存储命名为 。
使用 dwFlags 中的相应设置,标识的存储可以是远程本地计算机上的系统存储。 可以使用计算机名称注册远程计算机上的存储,作为系统存储名称的前缀。 例如,可以使用 pvSystemStore 注册远程本地计算机存储,该存储指向字符串“\ComputerName\Trust”或“ComputerName\Trust”。
在 ComputerName 之前,前导“\”反斜杠是可选的。
[in] dwFlags
dwFlags 参数的高字用于指定系统存储的位置。
定义了以下高字值。
远程计算机上的存储可以注册CERT_SYSTEM_STORE_LOCAL_MACHINE、CERT_SYSTEM_STORE_SERVICES、CERT_SYSTEM_STORE_USERS或CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY。
还定义了以下低字值,可以使用高字值的按位 OR 运算进行组合。
值 | 含义 |
---|---|
|
系统存储不在默认寄存器位置, pvSystemStore 必须是指向 CERT_SYSTEM_STORE_RELOCATE_PARA 结构的指针。 |
|
如果存储位置中已存在系统存储,则函数失败。 |
[in] pStoreInfo
保留以供将来使用,并且必须设置为 NULL。
[in] pvReserved
保留以供将来使用,并且必须设置为 NULL。
返回值
如果函数成功,该函数将返回非零值。
如果函数失败,则返回零。
注解
若要注销此函数已注册的系统存储,请调用 CertUnregisterSystemStore。
示例
以下示例演示如何将系统存储添加到注册表系统存储集合。 有关包含此示例的完整上下文的示例,请参阅 示例 C 程序:列出系统和物理存储。
//--------------------------------------------------------------------
// Declare and initialize variables.
LPCWSTR pvSystemName= L"NEWSTORE"; // For this setting of
// dwFlags, the store name may
// be prefixed with a user name.
DWORD dwFlags= CERT_SYSTEM_STORE_CURRENT_USER;
if(CertRegisterSystemStore(
pvSystemName,
dwFlags,
NULL,
NULL))
{
printf("System store %S is registered. \n",pvSystemName);
}
else
{
printf("The system store did not register. \n");
exit(1);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Crypt32.lib |
DLL | Crypt32.dll |