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
75 lines
2.2 KiB
// Copyright (C) 1995-1999 Microsoft Corporation. All rights reserved.
|
|
#ifndef __LOGREC_H__
|
|
#define __LOGREC_H__
|
|
|
|
|
|
#define DUMMYNDX 1
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
// Structure: LRP (lrp)
|
|
//
|
|
// The following type is used to identify a log record by a Log
|
|
// Record Pointer.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
typedef ULARGE_INTEGER LRP; // lrp
|
|
|
|
typedef ULARGE_INTEGER LSN; // lsn
|
|
|
|
/*
|
|
* @struct LOGREC|
|
|
* LogRec for ILogWrite::Append. This interface
|
|
* takes a pointer to a LogRec along with a count of how
|
|
* many other LogRec pointers to expect to describe pieces of the caller's buffer
|
|
* which are supposed to be copied in sequence to the log file.
|
|
*
|
|
* hungarian lrec
|
|
*/
|
|
|
|
typedef struct _LOGREC //lrec
|
|
{
|
|
CHAR *pchBuffer; //@field pointer to the buffer
|
|
ULONG ulByteLength; //@field the length
|
|
USHORT usUserType; //@field The client specified log record type
|
|
USHORT usSysRecType; //@field The log manager defined log record types
|
|
} LOGREC;
|
|
|
|
|
|
/*
|
|
* @struct WRITELISTELEMENT |
|
|
* Write Entry for RecOMLogWriteList. The interface to these
|
|
* routines takes a pointer to a Write Entry List Element. These elements can
|
|
* be chained together. The caller is required to put a value of NULL in the
|
|
* last element of the chain.
|
|
*
|
|
* hungarian wle
|
|
*/
|
|
|
|
typedef struct _WRITELISTELEMENT // wle
|
|
{
|
|
struct _WRITELISTELEMENT *pwleNext; //@field The next pointer
|
|
ULONG ulByteLength; //@field The length
|
|
CHAR ab[DUMMYNDX]; //@field Start of data
|
|
} WRITELISTELEMENT;
|
|
|
|
// Declaration for asynch completion callback
|
|
|
|
class CAsynchSupport
|
|
{
|
|
//@access Public Members
|
|
public:
|
|
//@cmember Destructor
|
|
virtual ~CAsynchSupport() { ; }
|
|
|
|
//@cmember This operation is called after an asynch write completes
|
|
virtual VOID AppendCallback(HRESULT hr, LRP lrpAppendLRP) = 0;
|
|
|
|
//@cmember This operation is called after a SetCheckpoint completes
|
|
virtual VOID ChkPtCallback(HRESULT hr, LRP lrpAppendLRP) = 0;
|
|
|
|
};
|
|
|
|
#endif
|
|
|