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.

80 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1995-1996 Microsoft Corporation
  3. Module Name :
  4. nsclogp.h
  5. Abstract:
  6. NCSA Logging Format implementation
  7. Author:
  8. Terence Kwan ( terryk ) 18-Sep-1996
  9. Project:
  10. IIS Logging 3.0
  11. --*/
  12. #ifndef _NCSLOGC_H_
  13. #define _NCSLOGC_H_
  14. class CNCSALOG :
  15. public CLogFileCtrl,
  16. public CLogScript,
  17. public CComCoClass<CNCSALOG, &CLSID_NCSALOG> {
  18. public:
  19. CNCSALOG();
  20. virtual VOID FormNewLogFileName( IN LPSYSTEMTIME pstNow);
  21. virtual BOOL FormatLogBuffer(
  22. IN IInetLogInformation *pLogObj,
  23. IN LPSTR pBuf,
  24. IN DWORD *pcbSize,
  25. OUT SYSTEMTIME *pSystemTime
  26. );
  27. inline
  28. virtual DWORD QueryLogFormat() {return(INET_LOG_FORMAT_NCSA);}
  29. virtual LPCSTR QueryNoPeriodPattern( );
  30. BEGIN_COM_MAP(CNCSALOG)
  31. COM_INTERFACE_ENTRY(ILogPlugin)
  32. COM_INTERFACE_ENTRY(ILogScripting)
  33. COM_INTERFACE_ENTRY(IDispatch)
  34. END_COM_MAP()
  35. protected:
  36. ~CNCSALOG();
  37. virtual HRESULT
  38. ReadFileLogRecord(
  39. IN FILE *fpLogFile,
  40. IN LPINET_LOGLINE pInetLogLine,
  41. IN PCHAR pszLogLine,
  42. IN DWORD dwLogLineSize
  43. );
  44. virtual HRESULT
  45. WriteFileLogRecord(
  46. IN FILE *fpLogFile,
  47. IN ILogScripting *pILogScripting,
  48. IN bool fWriteHeader
  49. );
  50. private:
  51. CHAR m_szGMTOffset[10];
  52. DOUBLE m_GMTDateCorrection;
  53. WORD wDosDate, wDosTime;
  54. BOOL ConvertNCSADateToVariantDate(PCHAR szDateString, PCHAR szTimeString, DATE * pDateTime);
  55. }; // CNCSALOG
  56. #endif // _NCSLOGC_H_