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.

97 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name :
  4. LogPublic.hxx
  5. Abstract:
  6. COM stuff
  7. Author:
  8. Saurab Nog (SaurabN) 25-March-1998
  9. --*/
  10. #ifndef _LOGPUBLIC_HXX_
  11. #define _LOGPUBLIC_HXX_
  12. DEFINE_GUID(IID_IInetLogPublic, /* {FB583AC5-C361-11d1-8BA4-080009DCC2FA} */
  13. 0xfb583ac5, 0xc361, 0x11d1, 0x8b, 0xa4, 0x8, 0x0, 0x9, 0xdc, 0xc2, 0xfa);
  14. DEFINE_GUID(CLSID_InetLogPublic, /* {FB583AC4-C361-11d1-8BA4-080009DCC2FA} */
  15. 0xfb583ac4, 0xc361, 0x11d1, 0x8b, 0xa4, 0x8, 0x0, 0x9, 0xdc, 0xc2, 0xfa);
  16. class IInetLogPublic : public IUnknown
  17. {
  18. public:
  19. virtual HRESULT STDMETHODCALLTYPE
  20. SetLogInstance(LPSTR szInstance) = 0;
  21. virtual HRESULT STDMETHODCALLTYPE
  22. LogInformation( IInetLogInformation *pLogObj ) = 0;
  23. virtual HRESULT STDMETHODCALLTYPE
  24. LogCustomInformation(
  25. IN DWORD cCount,
  26. IN PCUSTOM_LOG_DATA pCustomLogData,
  27. IN LPSTR szHeaderSuffix
  28. ) = 0;
  29. };
  30. class CInetLogPublic : public IInetLogPublic {
  31. public:
  32. CInetLogPublic();
  33. ~CInetLogPublic();
  34. friend class COMLOG_CONTEXT; // needed to reset m_pContext
  35. // when Context is destroyed.
  36. public:
  37. HRESULT STDMETHODCALLTYPE
  38. QueryInterface(
  39. REFIID riid,
  40. VOID **ppObject
  41. );
  42. ULONG STDMETHODCALLTYPE AddRef( );
  43. ULONG STDMETHODCALLTYPE Release( );
  44. HRESULT STDMETHODCALLTYPE
  45. SetLogInstance(
  46. LPSTR szInstance
  47. );
  48. HRESULT STDMETHODCALLTYPE
  49. LogInformation(
  50. IInetLogInformation *pLogObj
  51. );
  52. HRESULT STDMETHODCALLTYPE
  53. LogCustomInformation(
  54. IN DWORD cCount,
  55. IN PCUSTOM_LOG_DATA pCustomLogData,
  56. IN LPSTR szHeaderSuffix
  57. );
  58. private:
  59. COMLOG_CONTEXT* m_pContext;
  60. LONG m_refCount;
  61. LIST_ENTRY m_ListEntry;
  62. };
  63. typedef CInetLogPublic * PInetLogPublic;
  64. #endif // _LOGPUBLIC_HXX