home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / devtools / files / borland_ccompiler55.exe / Include / ilogobj.hxx < prev    next >
Encoding:
Text File  |  2000-06-27  |  7.3 KB  |  267 lines

  1. /*++
  2.  
  3.    Copyright    (c)    1995-1996    Microsoft Corporation
  4.  
  5.    Module  Name:
  6.  
  7.       ilogobj.hxx
  8.  
  9.    Abstract:
  10.  
  11.       Logging interfaces
  12.  
  13.    Author:
  14.  
  15.        Terence Kwan    ( terryk )    18-June-1996
  16.  
  17.  
  18. --*/
  19.  
  20. # ifndef _ILOGOBJ_HXX_
  21. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  22. # define _ILOGOBJ_HXX_
  23.  
  24. //
  25. // strings
  26. //
  27.  
  28. #define NCSALOG_CLSID          TEXT("{FF16065F-DE82-11CF-BC0A-00AA006111E0}")
  29. #define ODBCLOG_CLSID          TEXT("{FF16065B-DE82-11CF-BC0A-00AA006111E0}")
  30. #define ASCLOG_CLSID           TEXT("{FF160657-DE82-11CF-BC0A-00AA006111E0}")
  31. #define EXTLOG_CLSID           TEXT("{FF160663-DE82-11CF-BC0A-00AA006111E0}")
  32.  
  33. #define NCSALOGUI_CLSID        TEXT("{31DCAB85-BB3E-11d0-9299-00C04FB6678B}")
  34. #define ODBCLOGUI_CLSID        TEXT("{31DCAB86-BB3E-11d0-9299-00C04FB6678B}")
  35. #define ASCLOGUI_CLSID         TEXT("{31DCAB87-BB3E-11d0-9299-00C04FB6678B}")
  36. #define EXTLOGUI_CLSID         TEXT("{31DCAB88-BB3E-11d0-9299-00C04FB6678B}")
  37.  
  38. //
  39. // GUIDS
  40. //
  41.  
  42. // Interface IDs
  43.  
  44. DEFINE_GUID(IID_IINETLOG_INFORMATION,   /* cc557a71-f61a-11cf-bc0f-00aa006111e0 */
  45.     0xcc557a71,0xf61a,0x11cf,0xbc, 0x0f, 0x00, 0xaa, 0x00, 0x61, 0x11, 0xe0);
  46.  
  47. DEFINE_GUID(IID_ILogPlugin,             /* 08fd99d1-cfb6-11cf-bc03-00aa006111e0 */
  48.     0x08fd99d1,0xcfb6,0x11cf,0xbc, 0x03, 0x00, 0xaa, 0x00, 0x61, 0x11, 0xe0);
  49.  
  50. DEFINE_GUID(IID_ILogPluginEx,           /* 3710E192-9C25-11d1-8B9A-080009DCC2FA */
  51.     0x3710e192, 0x9c25, 0x11d1, 0x8b, 0x9a, 0x8, 0x0, 0x9, 0xdc, 0xc2, 0xfa);
  52.  
  53. // Class IDs
  54.  
  55. DEFINE_GUID(CLSID_NCSALOG,              /* ff16065F-DE82-11cf-bc0a-00aa006111e0 */
  56.     0xff16065F,0xde82,0x11cf,0xbc, 0x0a, 0x00, 0xaa, 0x00, 0x61, 0x11, 0xe0);
  57.  
  58. DEFINE_GUID(CLSID_ODBCLOG,              /* ff16065B-DE82-11cf-bc0a-00aa006111e0 */
  59.     0xff16065B,0xde82,0x11cf,0xbc, 0x0a, 0x00, 0xaa, 0x00, 0x61, 0x11, 0xe0);
  60.  
  61. DEFINE_GUID(CLSID_ASCLOG,               /* ff160657-DE82-11cf-bc0a-00aa006111e0 */
  62.     0xff160657,0xde82,0x11cf,0xbc, 0x0a, 0x00, 0xaa, 0x00, 0x61, 0x11, 0xe0);
  63.  
  64. DEFINE_GUID(CLSID_EXTLOG,               /* ff160663-DE82-11cf-bc0a-00aa006111e0 */
  65.     0xff160663,0xde82,0x11cf,0xbc, 0x0a, 0x00, 0xaa, 0x00, 0x61, 0x11, 0xe0);
  66.  
  67.  
  68. // Logging UI IDs
  69.  
  70. DEFINE_GUID(IID_LOGGINGUI,              /* 31DCAB89-BB3E-11d0-9299-00C04FB6678B */
  71.     0x31dcab89, 0xbb3e, 0x11d0, 0x92, 0x99, 0x0, 0xc0, 0x4f, 0xb6, 0x67, 0x8b);
  72.  
  73. DEFINE_GUID(CLSID_NCSALOGUI,            /* 31DCAB85-BB3E-11d0-9299-00C04FB6678B */
  74.     0x31dcab85, 0xbb3e, 0x11d0, 0x92, 0x99, 0x0, 0xc0, 0x4f, 0xb6, 0x67, 0x8b);
  75.  
  76. DEFINE_GUID(CLSID_ODBCLOGUI,            /* 31DCAB86-BB3E-11d0-9299-00C04FB6678B */
  77.     0x31dcab86, 0xbb3e, 0x11d0, 0x92, 0x99, 0x0, 0xc0, 0x4f, 0xb6, 0x67, 0x8b);
  78.  
  79. DEFINE_GUID(CLSID_ASCLOGUI,             /* 31DCAB87-BB3E-11d0-9299-00C04FB6678B */
  80.     0x31dcab87, 0xbb3e, 0x11d0, 0x92, 0x99, 0x0, 0xc0, 0x4f, 0xb6, 0x67, 0x8b);
  81.  
  82. DEFINE_GUID(CLSID_EXTLOGUI,             /* 31DCAB88-BB3E-11d0-9299-00C04FB6678B */
  83.     0x31dcab88, 0xbb3e, 0x11d0, 0x92, 0x99, 0x0, 0xc0, 0x4f, 0xb6, 0x67, 0x8b);
  84.  
  85. //
  86. // Unused IDs
  87. //
  88. DEFINE_GUID(IID_ICLAPI_CLIENT,          /* 08fd99d1-cfb6-11cf-bc03-00aa006111e0 */
  89.     0x08fd99d1,0xcfb6,0x11cf,0xbc, 0x03, 0x00, 0xaa, 0x00, 0x61, 0x11, 0xe0);
  90.  
  91. DEFINE_GUID(CLSID_InetLogInformation,   /* a1f89741-f619-11cf-bc0f-00aa006111e0 */
  92.     0xa1f89741, 0xf619, 0x11cf, 0xbc, 0xf, 0x0, 0xaa, 0x0, 0x61, 0x11, 0xe0);
  93.  
  94. //
  95. // Logging Interface exposed by IIS
  96. //
  97.  
  98. class IInetLogInformation : public IUnknown {
  99.  
  100.     public:
  101.         virtual LPSTR STDMETHODCALLTYPE
  102.         GetSiteName(
  103.             IN PCHAR    pszSiteName,
  104.             IN PDWORD   pcbSize
  105.             ) = 0;
  106.  
  107.         virtual LPSTR STDMETHODCALLTYPE
  108.         GetComputerName(
  109.             IN PCHAR    pszComputerName,
  110.             IN PDWORD   pcbSize
  111.             ) = 0;
  112.  
  113.         virtual LPSTR STDMETHODCALLTYPE
  114.         GetClientHostName(
  115.             IN PCHAR    pszClientHostName,
  116.             IN PDWORD   pcbSize
  117.             ) = 0;
  118.  
  119.         virtual LPSTR STDMETHODCALLTYPE
  120.         GetClientUserName(
  121.             IN PCHAR    pszClientUserName,
  122.             IN PDWORD   pcbSize
  123.             ) = 0;
  124.  
  125.         virtual LPSTR STDMETHODCALLTYPE
  126.         GetServerAddress(
  127.             IN PCHAR    pszServerIPAddress,
  128.             IN PDWORD   pcbSize
  129.             ) = 0;
  130.  
  131.         virtual LPSTR STDMETHODCALLTYPE
  132.         GetOperation(
  133.             IN PCHAR    pszOperation,
  134.             IN PDWORD   pcbSize
  135.             ) = 0;
  136.  
  137.         virtual LPSTR STDMETHODCALLTYPE
  138.         GetTarget(
  139.             IN PCHAR    pszTarget,
  140.             IN PDWORD   pcbSize
  141.             ) = 0;
  142.  
  143.         virtual LPSTR STDMETHODCALLTYPE
  144.         GetParameters(
  145.             IN PCHAR    pszParameters,
  146.             IN PDWORD   pcbSize
  147.             ) = 0;
  148.  
  149.         virtual LPSTR STDMETHODCALLTYPE
  150.         GetExtraHTTPHeaders(
  151.             IN PCHAR    pszHTTPHeaders,
  152.             IN PDWORD   pcbSize
  153.             ) = 0;
  154.  
  155.         virtual DWORD STDMETHODCALLTYPE
  156.         GetTimeForProcessing(
  157.             VOID
  158.             ) = 0;
  159.  
  160.         virtual DWORD STDMETHODCALLTYPE
  161.         GetBytesSent(
  162.             VOID
  163.             ) = 0;
  164.  
  165.         virtual DWORD STDMETHODCALLTYPE
  166.         GetBytesRecvd(
  167.             VOID
  168.             ) = 0;
  169.  
  170.         virtual DWORD STDMETHODCALLTYPE
  171.         GetWin32Status(
  172.             VOID
  173.             ) = 0;
  174.  
  175.         virtual DWORD STDMETHODCALLTYPE
  176.         GetProtocolStatus(
  177.             VOID
  178.             ) = 0;
  179.  
  180.         virtual DWORD STDMETHODCALLTYPE
  181.         GetPortNumber(
  182.             VOID
  183.             ) = 0;
  184.  
  185.         virtual LPSTR STDMETHODCALLTYPE
  186.         GetVersionString(
  187.             IN PCHAR    pszVersionString,
  188.             IN PDWORD   pcbSize
  189.             ) = 0;
  190.  
  191.  
  192. };
  193.  
  194.  
  195. //
  196. // Log Plugin Interface implemented by logging plugins and called by IIS. 
  197. //
  198.  
  199. class ILogPlugin  : public IUnknown
  200. {
  201.     public:
  202.  
  203.     virtual HRESULT STDMETHODCALLTYPE
  204.     InitializeLog(
  205.         IN LPCSTR SiteName,
  206.         IN LPCSTR MetabasePath,
  207.         IN PCHAR pvIMDCOM ) = 0;
  208.  
  209.     virtual HRESULT STDMETHODCALLTYPE
  210.     TerminateLog( VOID ) = 0;
  211.  
  212.     virtual HRESULT STDMETHODCALLTYPE
  213.     LogInformation( IInetLogInformation *pLogObj ) = 0;
  214.  
  215.     virtual HRESULT STDMETHODCALLTYPE
  216.     SetConfig( IN DWORD cbSize, PBYTE Log ) = 0;
  217.  
  218.     virtual HRESULT STDMETHODCALLTYPE
  219.     GetConfig( IN DWORD cbSize, PBYTE Log ) = 0;
  220.  
  221.     virtual HRESULT STDMETHODCALLTYPE
  222.     QueryExtraLoggingFields(PDWORD cbSize, PCHAR szParameters) = 0;
  223. };
  224.  
  225. //
  226. // Log plugin UI Interface used by Admin
  227. //
  228.  
  229. class ILogUIPlugin  : public IUnknown
  230. {
  231.     public:
  232.     
  233.     virtual HRESULT STDMETHODCALLTYPE
  234.     OnProperties( IN OLECHAR* pocMachineName, IN OLECHAR* pocMetabasePath ) = 0;
  235. };
  236.  
  237. //
  238. // Extended Log Plugin Interface implemented by logging plugins and called by
  239. // IIS to support advanced/generic logging.
  240. //
  241.  
  242. #ifndef _LOGTYPE_H_
  243.  
  244. typedef struct _CUSTOM_LOG_DATA
  245. {
  246.     LPCSTR  szPropertyPath;
  247.     PVOID   pData;
  248.     
  249. } CUSTOM_LOG_DATA, *PCUSTOM_LOG_DATA;
  250.  
  251. #endif
  252.  
  253. class ILogPluginEx : public ILogPlugin
  254. {
  255.     public:
  256.     
  257.     virtual HRESULT STDMETHODCALLTYPE
  258.     LogCustomInformation( 
  259.             IN  DWORD               cCount, 
  260.             IN  PCUSTOM_LOG_DATA    pCustomLogData,
  261.             IN  LPSTR               szHeaderSuffix
  262.             ) = 0;
  263. };
  264.  
  265. #pragma option pop /*P_O_Pop*/
  266. # endif // _ILOGOBJ_HXX_
  267.