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.

75 lines
2.2 KiB

  1. // Copyright (C) 1995-1999 Microsoft Corporation. All rights reserved.
  2. #ifndef __LOGREC_H__
  3. #define __LOGREC_H__
  4. #define DUMMYNDX 1
  5. //+---------------------------------------------------------------------------
  6. // Structure: LRP (lrp)
  7. //
  8. // The following type is used to identify a log record by a Log
  9. // Record Pointer.
  10. //
  11. //----------------------------------------------------------------------------
  12. typedef ULARGE_INTEGER LRP; // lrp
  13. typedef ULARGE_INTEGER LSN; // lsn
  14. /*
  15. * @struct LOGREC|
  16. * LogRec for ILogWrite::Append. This interface
  17. * takes a pointer to a LogRec along with a count of how
  18. * many other LogRec pointers to expect to describe pieces of the caller's buffer
  19. * which are supposed to be copied in sequence to the log file.
  20. *
  21. * hungarian lrec
  22. */
  23. typedef struct _LOGREC //lrec
  24. {
  25. CHAR *pchBuffer; //@field pointer to the buffer
  26. ULONG ulByteLength; //@field the length
  27. USHORT usUserType; //@field The client specified log record type
  28. USHORT usSysRecType; //@field The log manager defined log record types
  29. } LOGREC;
  30. /*
  31. * @struct WRITELISTELEMENT |
  32. * Write Entry for RecOMLogWriteList. The interface to these
  33. * routines takes a pointer to a Write Entry List Element. These elements can
  34. * be chained together. The caller is required to put a value of NULL in the
  35. * last element of the chain.
  36. *
  37. * hungarian wle
  38. */
  39. typedef struct _WRITELISTELEMENT // wle
  40. {
  41. struct _WRITELISTELEMENT *pwleNext; //@field The next pointer
  42. ULONG ulByteLength; //@field The length
  43. CHAR ab[DUMMYNDX]; //@field Start of data
  44. } WRITELISTELEMENT;
  45. // Declaration for asynch completion callback
  46. class CAsynchSupport
  47. {
  48. //@access Public Members
  49. public:
  50. //@cmember Destructor
  51. virtual ~CAsynchSupport() { ; }
  52. //@cmember This operation is called after an asynch write completes
  53. virtual VOID AppendCallback(HRESULT hr, LRP lrpAppendLRP) = 0;
  54. //@cmember This operation is called after a SetCheckpoint completes
  55. virtual VOID ChkPtCallback(HRESULT hr, LRP lrpAppendLRP) = 0;
  56. };
  57. #endif