//+--------------------------------------------------------------------------- // // 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__