Leaked source code of windows server 2003
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.

101 lines
2.7 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: ciexit.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // ciexit.h : Declaration of the CCertServerExit class
  11. #include "cscomres.h" // main symbols
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CertIF
  14. class CCertServerExit:
  15. public IDispatchImpl<ICertServerExit, &IID_ICertServerExit, &LIBID_CERTCLIENTLib>,
  16. public ISupportErrorInfoImpl<&IID_ICertServerExit>,
  17. public CComObjectRoot,
  18. public CComCoClass<CCertServerExit, &CLSID_CCertServerExit>
  19. {
  20. public:
  21. CCertServerExit() { m_Context = 0; m_fExtensionValid = FALSE; }
  22. ~CCertServerExit();
  23. BEGIN_COM_MAP(CCertServerExit)
  24. COM_INTERFACE_ENTRY(IDispatch)
  25. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  26. COM_INTERFACE_ENTRY(ICertServerExit)
  27. END_COM_MAP()
  28. // Remove the comment from following the line if you don't want your object to
  29. // support aggregation. The default is to support it.
  30. DECLARE_NOT_AGGREGATABLE(CCertServerExit)
  31. DECLARE_REGISTRY(
  32. CCertServerExit,
  33. wszCLASS_CERTSERVEREXIT TEXT(".1"),
  34. wszCLASS_CERTSERVEREXIT,
  35. IDS_CERTSERVERPOLICY_DESC,
  36. THREADFLAGS_BOTH)
  37. // ICertServerExit
  38. public:
  39. STDMETHOD(SetContext)(
  40. IN LONG Context);
  41. STDMETHOD(GetRequestProperty)(
  42. IN BSTR const strPropertyName,
  43. IN LONG PropertyType,
  44. OUT VARIANT __RPC_FAR *pvarPropertyValue);
  45. STDMETHOD(GetRequestAttribute)(
  46. IN BSTR const strAttributeName,
  47. OUT BSTR __RPC_FAR *pstrAttributeValue);
  48. STDMETHOD(GetCertificateProperty)(
  49. IN BSTR const strPropertyName,
  50. IN LONG PropertyType,
  51. OUT VARIANT __RPC_FAR *pvarPropertyValue);
  52. STDMETHOD(GetCertificateExtension)(
  53. IN BSTR const strExtensionName,
  54. IN LONG Type,
  55. OUT VARIANT __RPC_FAR *pvarValue);
  56. STDMETHOD(GetCertificateExtensionFlags)(
  57. OUT LONG __RPC_FAR *pFlags);
  58. STDMETHOD(EnumerateExtensionsSetup)(
  59. IN LONG Flags);
  60. STDMETHOD(EnumerateExtensions)(
  61. OUT BSTR *pstrExtensionName);
  62. STDMETHOD(EnumerateExtensionsClose)(VOID);
  63. STDMETHOD(EnumerateAttributesSetup)(
  64. IN LONG Flags);
  65. STDMETHOD(EnumerateAttributes)(
  66. OUT BSTR *pstrAttributeName);
  67. STDMETHOD(EnumerateAttributesClose)(VOID);
  68. private:
  69. HRESULT _SetErrorInfo(
  70. IN HRESULT hrError,
  71. IN WCHAR const *pwszDescription,
  72. OPTIONAL IN WCHAR const *pwszPropName);
  73. LONG m_Context;
  74. LONG m_ExtFlags;
  75. BOOL m_fExtensionValid;
  76. CIENUM m_ciEnumExtensions;
  77. CIENUM m_ciEnumAttributes;
  78. };