CertRegisterSystemStore function
The CertRegisterSystemStore function registers a system store.
Syntax
BOOL WINAPI CertRegisterSystemStore( _In_ const void *pvSystemStore, _In_ DWORD dwFlags, _In_ PCERT_SYSTEM_STORE_INFO pStoreInfo, _In_ void *pvReserved );
Parameters
- pvSystemStore [in]
-
Identifies the system store to be registered. If CERT_SYSTEM_STORE_RELOCATE_FLAG is set in the dwFlags parameter, pvSystemStore points to a CERT_SYSTEM_STORE_RELOCATE_PARA structure. Otherwise, it points to a null-terminated Unicode string that names the system store.
With appropriate settings in dwFlags, the identified store can be a system store on a remote local computer. Stores on remote computers can be registered with the computer name as a prefix to the name of the system store. For example, a remote local computer store can be registered with pvSystemStore pointing to the string "\\ComputerName\Trust" or "ComputerName\Trust".
Leading "\\" backslashes are optional before a ComputerName.
- dwFlags [in]
-
The high word of the dwFlags parameter is used to specify the location of the system store.
The following high-word values are defined.
Stores on remote computers can be registered for CERT_SYSTEM_STORE_LOCAL_MACHINE, CERT_SYSTEM_STORE_SERVICES, CERT_SYSTEM_STORE_USERS, or CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY.
The following low-word values are also defined and can be combined using a bitwise-OR operation with high-word values.
Value Meaning - CERT_SYSTEM_STORE_RELOCATE_FLAG
The system store is not in its default register location and pvSystemStore must be a pointer to a CERT_SYSTEM_STORE_RELOCATE_PARA structure.
- CERT_STORE_CREATE_NEW_FLAG
The function fails if the system store already exists in the store location.
- pStoreInfo [in]
-
Reserved for future use and must be set to NULL.
- pvReserved [in]
-
Reserved for future use and must be set to NULL.
Return value
If the function succeeds, the function returns nonzero.
If the function fails, it returns zero.
Remarks
To unregister a system store that has been registered by this function, call CertUnregisterSystemStore.
Examples
The following example shows adding a system store to a registry system store collection. For an example that includes the complete context for this example, see Example C Program: Listing System and Physical Stores.
//-------------------------------------------------------------------- // 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); }
Requirements
|
Minimum supported client |
Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
See also
- Certificate Store Functions
- CertEnumPhysicalStore
- CertEnumSystemStore
- CertEnumSystemStoreLocation
- CertRegisterPhysicalStore
- CertUnregisterPhysicalStore
- CertUnregisterSystemStore