Source code of Windows XP (NT5)
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.

56 lines
1.6 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1992.
  5. //
  6. // File: filelkb.hxx
  7. //
  8. // Contents: IFileLockBytes definition
  9. //
  10. // Classes: IFileLockBytes
  11. //
  12. // History: 14-Jan-93 DrewB Created
  13. //
  14. //----------------------------------------------------------------------------
  15. #ifndef __FILELKB_HXX__
  16. #define __FILELKB_HXX__
  17. #define IID_IFileLockBytes IID_IDfReserved1
  18. /****** IFileLockBytes Interface ********************************************/
  19. #define LPFILELOCKBYTES IFileLockBytes FAR*
  20. #undef INTERFACE
  21. #define INTERFACE IFileLockBytes
  22. DECLARE_INTERFACE_(IFileLockBytes, IUnknown)
  23. {
  24. // *** IUnknown methods ***
  25. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  26. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  27. STDMETHOD_(ULONG,Release) (THIS) PURE;
  28. // *** IFileLockBytes methods ***
  29. STDMETHOD(SwitchToFile) (THIS_ OLECHAR const *lpstrFile,
  30. #ifdef LARGE_DOCFILE
  31. ULONGLONG ulCommitSize,
  32. #else
  33. ULONG ulCommitSize,
  34. #endif
  35. ULONG cbBuffer,
  36. LPVOID pvBuffer) PURE;
  37. STDMETHOD(FlushCache) (THIS) PURE;
  38. STDMETHOD(ReserveHandle)(THIS) PURE;
  39. // Optimizations
  40. STDMETHOD(GetLocksSupported)(THIS_ DWORD *pdwLockFlags) PURE;
  41. STDMETHOD(GetSize)(THIS_ ULARGE_INTEGER *puliSize) PURE;
  42. STDMETHOD_(ULONG, GetSectorSize) (THIS) PURE;
  43. STDMETHOD_(BOOL, IsEncryptedFile) (THIS) PURE;
  44. };
  45. #endif // #ifndef __FILELKB_HXX__