Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef __CERT_REQUESTER_H__
#define __CERT_REQUESTER_H__ 1
class CertRequester { public: CertDSManager * GetDSManager() { return m_pDSManager; } CertRequesterContext * GetContext() { return m_pContext; }
virtual ~CertRequester() { if (NULL != m_pDSManager) { delete m_pDSManager; } if (NULL != m_pContext) { delete m_pContext; } } static HRESULT MakeCertRequester(IN LPCWSTR pwszAccountName, IN LPCWSTR pwszMachineName, IN DWORD dwCertOpenStoreFlags, IN DWORD dwPurpose, IN CERT_WIZARD_INFO *pCertWizardInfo, OUT CertRequester **ppCertRequester, OUT UINT *pIDS);
protected: CertRequester(); CertRequester(CERT_WIZARD_INFO * pCertWizardInfo) : m_pCertWizardInfo(pCertWizardInfo), m_pDSManager(NULL), m_pContext(NULL) { if (NULL != pCertWizardInfo) { pCertWizardInfo->hRequester = (HCERTREQUESTER)this; } }
private: // FIXME: does pContext need to be refcounted?
void SetContext(CertRequesterContext * pContext) { m_pContext = pContext; } void SetDSManager(CertDSManager * pDSManager) { m_pDSManager = pDSManager; }
CERT_WIZARD_INFO *m_pCertWizardInfo; CertDSManager *m_pDSManager; CertRequesterContext *m_pContext; };
class EnrollmentCertRequester : public CertRequester { public: EnrollmentCertRequester(CERT_WIZARD_INFO * pCertWizardInfo) : CertRequester(pCertWizardInfo) { } };
class RenewalCertRequester : public CertRequester { public: RenewalCertRequester(CERT_WIZARD_INFO * pCertWizardInfo) : CertRequester(pCertWizardInfo) { } };
#endif // #ifndef __CERT_REQUESTER_H__
|