home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / inole2 / interfac / ilockbyt.h < prev    next >
C/C++ Source or Header  |  1996-05-21  |  1KB  |  53 lines

  1. /*
  2.  * ILOCKBYT.H
  3.  *
  4.  * Definitions of a template ILockBytes interface
  5.  * implementation.
  6.  *
  7.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  8.  *
  9.  * Kraig Brockschmidt, Microsoft
  10.  * Internet  :  kraigb@microsoft.com
  11.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  12.  */
  13.  
  14.  
  15. #ifndef _ILOCKBYT_H_
  16. #define _ILOCKBYT_H_
  17.  
  18. #include <inole.h>
  19.  
  20. class CImpILockBytes;
  21. typedef class CImpILockBytes *PCImpILockBytes;
  22.  
  23. class CImpILockBytes : public ILockBytes
  24.     {
  25.     protected:
  26.         ULONG           m_cRef;      //Interface reference count
  27.         LPVOID          m_pObj;      //Backpointer to the object
  28.         LPUNKNOWN       m_pUnkOuter; //Fr delegation
  29.  
  30.     public:
  31.         CImpILockBytes(LPVOID, LPUNKNOWN);
  32.         ~CImpILockBytes(void);
  33.  
  34.         STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  35.         STDMETHODIMP_(ULONG) AddRef(void);
  36.         STDMETHODIMP_(ULONG) Release(void);
  37.  
  38.         STDMETHODIMP ReadAt(ULARGE_INTEGER, VOID HUGEP *, ULONG
  39.             , ULONG *);
  40.         STDMETHODIMP WriteAt(ULARGE_INTEGER, VOID const HUGEP *
  41.             , ULONG, ULONG *);
  42.         STDMETHODIMP Flush(void);
  43.         STDMETHODIMP SetSize(ULARGE_INTEGER);
  44.         STDMETHODIMP LockRegion(ULARGE_INTEGER, ULARGE_INTEGER
  45.             , DWORD);
  46.         STDMETHODIMP UnlockRegion(ULARGE_INTEGER, ULARGE_INTEGER
  47.             , DWORD);
  48.         STDMETHODIMP Stat(STATSTG *, DWORD);
  49.     };
  50.  
  51.  
  52. #endif //_ILOCKBYT_H_
  53.