2025-04-27 07:49:33 -04:00

65 lines
2.2 KiB
C

// -----------------------------------------------------------------------
// Microsoft Distributed Transaction Coordinator (Microsoft Confidential)
// Copyright 1994 - 1995 Microsoft Corporation. All Rights Reserved.
// @doc
// @module ILGSTOR.H | Header for interface <i ILogStorage>.<nl><nl>
// Usage:<nl>
// Clients of this DLL require this file.
// @rev 0 | 10/18/94 | rcraig | Created: For WPGEP COM lab.
// @rev 1 | 04/04/95 | rcraig | Updated: For Viper COM DLL templates.
// @rev 2 | 05/09/95 | rbarnes | Cloned: For LOGMGR.DLL
// -----------------------------------------------------------------------
#ifndef _ILGSTOR_H
# define _ILGSTOR_H
// ===============================
// INCLUDES:
// ===============================
#ifdef WIN32 // OLE inclusions:
# include <objbase.h>
#else
# include <windows.h>
# include <ole2.h>
#endif WIN32
typedef enum _tagSTREAMMODE
{
STRMMODEREAD = 0x00000001, //@emem READ mode
STRMMODEWRITE = 0x00000002 //@emem WRITE mode
} STRMMODE;
// ===============================
// INTERFACE: ILogStorage
// ===============================
// -----------------------------------------------------------------------
// @interface ILogStorage | See also <c CILogStorage>.<nl><nl>
// Description:<nl>
// Provide the physical log storage abstraction<nl><nl>
// Usage:<nl>
// Useless, but for an example.
// -----------------------------------------------------------------------
DECLARE_INTERFACE_ (ILogStorage, IUnknown)
{
// @comm IUnknown methods: See <c CILogStorage>.
STDMETHOD (QueryInterface) (THIS_ REFIID i_riid, LPVOID FAR* o_ppv) PURE;
STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
STDMETHOD_ (ULONG, Release) (THIS) PURE;
// @comm ILogStorage methods: See <c CILogStorage>.
STDMETHOD (OpenLogStream) (LPSTR lpszStreamName, DWORD grfMode, LPVOID FAR* ppvStream) PURE;
STDMETHOD (OpenLogStreamByClassID) (CLSID clsClassID, DWORD grfMode, LPVOID FAR* ppvStream) PURE;
STDMETHOD (LogFlush) (void) PURE;
virtual ULONG (GetLogSpaceNeeded) (ULONG ulRecSize) PURE;
};
#endif _ILGSTOR_H