windows-nt/Source/XPSP1/NT/com/ole32/stg/h/filelkb.hxx
2020-09-26 16:20:57 +08:00

57 lines
1.6 KiB
C++

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1992.
//
// File: filelkb.hxx
//
// Contents: IFileLockBytes definition
//
// Classes: IFileLockBytes
//
// History: 14-Jan-93 DrewB Created
//
//----------------------------------------------------------------------------
#ifndef __FILELKB_HXX__
#define __FILELKB_HXX__
#define IID_IFileLockBytes IID_IDfReserved1
/****** IFileLockBytes Interface ********************************************/
#define LPFILELOCKBYTES IFileLockBytes FAR*
#undef INTERFACE
#define INTERFACE IFileLockBytes
DECLARE_INTERFACE_(IFileLockBytes, IUnknown)
{
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
// *** IFileLockBytes methods ***
STDMETHOD(SwitchToFile) (THIS_ OLECHAR const *lpstrFile,
#ifdef LARGE_DOCFILE
ULONGLONG ulCommitSize,
#else
ULONG ulCommitSize,
#endif
ULONG cbBuffer,
LPVOID pvBuffer) PURE;
STDMETHOD(FlushCache) (THIS) PURE;
STDMETHOD(ReserveHandle)(THIS) PURE;
// Optimizations
STDMETHOD(GetLocksSupported)(THIS_ DWORD *pdwLockFlags) PURE;
STDMETHOD(GetSize)(THIS_ ULARGE_INTEGER *puliSize) PURE;
STDMETHOD_(ULONG, GetSectorSize) (THIS) PURE;
STDMETHOD_(BOOL, IsEncryptedFile) (THIS) PURE;
};
#endif // #ifndef __FILELKB_HXX__