//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1999 - 1999 // // File: manage.h // //-------------------------------------------------------------------------- #include "legacy.h" #include "cscomres.h" // LEGACY policy modules don't have a CCertManagePolicyModule -- create one for them! // They only have one name: "CertificateAuthority.Policy", so they only need one // manage: "CertificateAuthority.PolicyManage" // Once we create this, all legacy modules will be displayed through this managemodule. class CCertManagePolicyModule: public CComDualImpl, public CComObjectRoot, public CComCoClass { public: CCertManagePolicyModule() {}; ~CCertManagePolicyModule() {}; BEGIN_COM_MAP(CCertManagePolicyModule) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ICertManageModule) END_COM_MAP() DECLARE_NOT_AGGREGATABLE(CCertManagePolicyModule) // Remove the comment from the line above if you don't want your object to // support aggregation. The default is to support it #define WSZ_LEGACY_POLICYPREFIX L"CertificateAuthority" #define WSZ_LEGACY_POLICYMANAGE WSZ_LEGACY_POLICYPREFIX wszCERTMANAGEPOLICY_POSTFIX DECLARE_REGISTRY( CCertManagePolicyModule, WSZ_LEGACY_POLICYMANAGE TEXT(".1"), WSZ_LEGACY_POLICYMANAGE, IDS_CERTMANAGEPOLICYMODULE_DESC, THREADFLAGS_BOTH) // ICertManageModule public: STDMETHOD (GetProperty) ( /* [in] */ const BSTR strConfig, /* [in] */ BSTR strStorageLocation, /* [in] */ BSTR strPropertyName, /* [in] */ LONG dwFlags, /* [retval][out] */ VARIANT __RPC_FAR *pvarProperty); STDMETHOD (SetProperty)( /* [in] */ const BSTR strConfig, /* [in] */ BSTR strStorageLocation, /* [in] */ BSTR strPropertyName, /* [in] */ LONG dwFlags, /* [in] */ VARIANT const __RPC_FAR *pvarProperty); STDMETHOD (Configure)( /* [in] */ const BSTR strConfig, /* [in] */ BSTR strStorageLocation, /* [in] */ LONG dwFlags); }; // LEGACY exit modules don't have a CCertManageExitModule -- create one for them! // They only have one name: "CertificateAuthority.Exit", so they only need one // manage: "CertificateAuthority.ExitManage" // Once we create this, all legacy modules will be displayed through this managemodule. class CCertManageExitModule: public CComDualImpl, public CComObjectRoot, public CComCoClass { public: CCertManageExitModule() {}; ~CCertManageExitModule() {}; BEGIN_COM_MAP(CCertManageExitModule) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ICertManageModule) END_COM_MAP() DECLARE_NOT_AGGREGATABLE(CCertManageExitModule) // Remove the comment from the line above if you don't want your object to // support aggregation. The default is to support it #define WSZ_LEGACY_EXITPREFIX L"CertificateAuthority" #define WSZ_LEGACY_EXITMANAGE WSZ_LEGACY_EXITPREFIX wszCERTMANAGEEXIT_POSTFIX DECLARE_REGISTRY( CCertManageExitModule, WSZ_LEGACY_EXITMANAGE TEXT(".1"), WSZ_LEGACY_EXITMANAGE, IDS_CERTMANAGEEXITMODULE_DESC, THREADFLAGS_BOTH) // ICertManageModule public: STDMETHOD (GetProperty) ( /* [in] */ const BSTR strConfig, /* [in] */ BSTR strStorageLocation, /* [in] */ BSTR strPropertyName, /* [in] */ LONG dwFlags, /* [retval][out] */ VARIANT __RPC_FAR *pvarProperty); STDMETHOD (SetProperty)( /* [in] */ const BSTR strConfig, /* [in] */ BSTR strStorageLocation, /* [in] */ BSTR strPropertyName, /* [in] */ LONG dwFlags, /* [in] */ VARIANT const __RPC_FAR *pvarProperty); STDMETHOD (Configure)( /* [in] */ const BSTR strConfig, /* [in] */ BSTR strStorageLocation, /* [in] */ LONG dwFlags); };