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

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * IMALLOC.H
  3.  *
  4.  * Definitions of a template IMalloc interface implementation.
  5.  *
  6.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  7.  *
  8.  * Kraig Brockschmidt, Microsoft
  9.  * Internet  :  kraigb@microsoft.com
  10.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  11.  */
  12. #ifndef _IMALLOC_H_
  13. #define _IMALLOC_H_
  14. #include <inole.h>
  15. class CImpIMalloc;
  16. typedef class CImpIMalloc *PCImpIMalloc;
  17. class CImpIMalloc : public IMalloc
  18.     {
  19.     protected:
  20.         ULONG           m_cRef;      //Interface reference count
  21.         LPVOID          m_pObj;      //Backpointer to the object
  22.         LPUNKNOWN       m_pUnkOuter; //For delegation
  23.     public:
  24.         CImpIMalloc(LPVOID, LPUNKNOWN);
  25.         ~CImpIMalloc(void);
  26.         STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  27.         STDMETHODIMP_(ULONG) AddRef(void);
  28.         STDMETHODIMP_(ULONG) Release(void);
  29.         STDMETHODIMP_(void *) Alloc(ULONG);
  30.         STDMETHODIMP_(void *) Realloc(void *, ULONG);
  31.         STDMETHODIMP_(void)   Free(void *);
  32.         STDMETHODIMP_(ULONG)  GetSize(void *);
  33.         STDMETHODIMP_(int)    DidAlloc(void *);
  34.         STDMETHODIMP_(void)   HeapMinimize(void);
  35.     };
  36. #endif //_IMALLOC_H_