The CERT_SYSTEM_STORE_RELOCATE_PARA data structure is passed to CertOpenStore when the CERT_SYSTEM_STORE_RELOCATE_FLAG is set. It allows the application to pass in not only a string indicating the name of the store to be opened, but also registry hKey information indicating a registry location other than the default location.
typedef struct _CERT_SYSTEM_STORE_RELOCATE_PARA {
union {
HKEY hKeyBase;
void *pvBase;
};
union {
void *pvSystemStore;
LPCSTR pszSystemStore;
LPCWSTR pwszSystemStore;
};
} CERT_SYSTEM_STORE_RELOCATE_PARA, *PCERT_SYSTEM_STORE_RELOCATE_PARA;
The relocate capability is used to access system stores persisted in the Group Policy Template (GPT). For example, the Group Policy Editor's (GPE) MMC snap-in extension for managing group policy trust lists and certificates will call CertOpenStore using the GPT's base HKEY.