windows-nt/Source/XPSP1/NT/ds/security/services/ca/include/config.h
2020-09-26 16:20:57 +08:00

48 lines
1.3 KiB
C++

//+--------------------------------------------------------------------------
// File: config.h
// Contents: CConfigStorage implements read/write to CA configuration data
// currently stored under HKLM\System\CCS\Services\Certsvc\
// Configuration
//---------------------------------------------------------------------------
namespace CertSrv
{
class CConfigStorage
{
public:
CConfigStorage() :
m_hRemoteHKLM(NULL),
m_hRootConfigKey(NULL),
m_hCAKey(NULL),
m_pwszMachine(NULL) {};
~CConfigStorage();
HRESULT InitMachine(LPCWSTR pcwszMachine);
HRESULT GetEntry(
LPCWSTR pcwszAuthorityName,
LPCWSTR pcwszRelativeNodePath,
LPCWSTR pcwszValue,
VARIANT *pVariant);
HRESULT SetEntry(
LPCWSTR pwszAuthorityName,
LPCWSTR pcwszRelativeNodePath,
LPCWSTR pwszEntry,
VARIANT *pVariant);
private:
HRESULT InitRootKey();
HRESULT InitCAKey(LPCWSTR pcwszAuthority);
HKEY m_hRemoteHKLM; // HKLM if connecting to remote machine
HKEY m_hRootConfigKey; // HKLM\System\CCS\Services\CertSvc\Configuration
HKEY m_hCAKey; // ...Configuration\CAName
LPWSTR m_pwszMachine;
}; // class CConfigStorage
}; // namespace CertSrv