ILOCKBYT.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  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. #ifndef _ILOCKBYT_H_
  14. #define _ILOCKBYT_H_
  15. #include <inole.h>
  16. class CImpILockBytes;
  17. typedef class CImpILockBytes *PCImpILockBytes;
  18. class CImpILockBytes : public ILockBytes
  19.     {
  20.     protected:
  21.         ULONG           m_cRef;      //Interface reference count
  22.         LPVOID          m_pObj;      //Backpointer to the object
  23.         LPUNKNOWN       m_pUnkOuter; //Fr delegation
  24.     public:
  25.         CImpILockBytes(LPVOID, LPUNKNOWN);
  26.         ~CImpILockBytes(void);
  27.         STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  28.         STDMETHODIMP_(ULONG) AddRef(void);
  29.         STDMETHODIMP_(ULONG) Release(void);
  30.         STDMETHODIMP ReadAt(ULARGE_INTEGER, VOID HUGEP *, ULONG
  31.             , ULONG *);
  32.         STDMETHODIMP WriteAt(ULARGE_INTEGER, VOID const HUGEP *
  33.             , ULONG, ULONG *);
  34.         STDMETHODIMP Flush(void);
  35.         STDMETHODIMP SetSize(ULARGE_INTEGER);
  36.         STDMETHODIMP LockRegion(ULARGE_INTEGER, ULARGE_INTEGER
  37.             , DWORD);
  38.         STDMETHODIMP UnlockRegion(ULARGE_INTEGER, ULARGE_INTEGER
  39.             , DWORD);
  40.         STDMETHODIMP Stat(STATSTG *, DWORD);
  41.     };
  42. #endif //_ILOCKBYT_H_