//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1995 - 1999 // // File: cipolicy.h // //-------------------------------------------------------------------------- // cipolicy.h : Declaration of the CCertServerPolicy class #include "cscomres.h" // main symbols ///////////////////////////////////////////////////////////////////////////// // CertIF class CCertServerPolicy: public IDispatchImpl, public ISupportErrorInfoImpl<&IID_ICertServerPolicy>, public CComObjectRoot, public CComCoClass { public: CCertServerPolicy() { m_Context = 0; m_fExtensionValid = FALSE; } ~CCertServerPolicy(); BEGIN_COM_MAP(CCertServerPolicy) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ISupportErrorInfo) COM_INTERFACE_ENTRY(ICertServerPolicy) END_COM_MAP() // Remove the comment from following the line if you don't want your object to // support aggregation. The default is to support it. DECLARE_NOT_AGGREGATABLE(CCertServerPolicy) DECLARE_REGISTRY( CCertServerPolicy, wszCLASS_CERTSERVERPOLICY TEXT(".1"), wszCLASS_CERTSERVERPOLICY, IDS_CERTSERVERPOLICY_DESC, THREADFLAGS_BOTH) // ICertServerPolicy public: STDMETHOD(SetContext)( IN LONG Context); STDMETHOD(GetRequestProperty)( IN BSTR const strPropertyName, IN LONG PropertyType, OUT VARIANT __RPC_FAR *pvarPropertyValue); STDMETHOD(GetRequestAttribute)( IN BSTR const strAttributeName, OUT BSTR __RPC_FAR *pstrAttributeValue); STDMETHOD(GetCertificateProperty)( IN BSTR const strPropertyName, IN LONG PropertyType, OUT VARIANT __RPC_FAR *pvarPropertyValue); STDMETHOD(SetCertificateProperty)( IN BSTR const strPropertyName, IN LONG PropertyType, IN VARIANT const __RPC_FAR *pvarPropertyValue); STDMETHOD(GetCertificateExtension)( IN BSTR const strExtensionName, IN LONG Type, OUT VARIANT __RPC_FAR *pvarValue); STDMETHOD(GetCertificateExtensionFlags)( OUT LONG __RPC_FAR *pFlags); STDMETHOD(SetCertificateExtension)( IN BSTR const strExtensionName, IN LONG Type, IN LONG ExtFlags, IN VARIANT const __RPC_FAR *pvarValue); STDMETHOD(EnumerateExtensionsSetup)( IN LONG Flags); STDMETHOD(EnumerateExtensions)( OUT BSTR *pstrExtensionName); STDMETHOD(EnumerateExtensionsClose)(VOID); STDMETHOD(EnumerateAttributesSetup)( IN LONG Flags); STDMETHOD(EnumerateAttributes)( OUT BSTR *pstrAttributeName); STDMETHOD(EnumerateAttributesClose)(VOID); private: HRESULT _SetErrorInfo( IN HRESULT hrError, IN WCHAR const *pwszDescription, OPTIONAL IN WCHAR const *pwszPropName); LONG m_Context; LONG m_ExtFlags; BOOL m_fExtensionValid; CIENUM m_ciEnumExtensions; CIENUM m_ciEnumAttributes; };