57 lines
1.6 KiB
C++
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__
|