Leaked source code of windows server 2003
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.

63 lines
2.9 KiB

  1. // --------------------------------------------------------------------------------
  2. // Malloc.h
  3. // Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  4. // Steven J. Bailey
  5. // --------------------------------------------------------------------------------
  6. #ifndef __MALLOC_H
  7. #define __MALLOC_H
  8. // --------------------------------------------------------------------------------
  9. // mimeole.h
  10. // --------------------------------------------------------------------------------
  11. #include "mimeole.h"
  12. // --------------------------------------------------------------------------------
  13. // CMimeAllocator
  14. // --------------------------------------------------------------------------------
  15. class CMimeAllocator : public IMimeAllocator
  16. {
  17. public:
  18. // ----------------------------------------------------------------------------
  19. // Construction
  20. // ----------------------------------------------------------------------------
  21. CMimeAllocator(void);
  22. ~CMimeAllocator(void);
  23. // ---------------------------------------------------------------------------
  24. // IUnknown members
  25. // ---------------------------------------------------------------------------
  26. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  27. STDMETHODIMP_(ULONG) AddRef(void);
  28. STDMETHODIMP_(ULONG) Release(void);
  29. // ---------------------------------------------------------------------------
  30. // IMalloc members
  31. // ---------------------------------------------------------------------------
  32. STDMETHODIMP_(LPVOID) Alloc(SIZE_T cb);
  33. STDMETHODIMP_(LPVOID) Realloc(void *pv, SIZE_T cb);
  34. STDMETHODIMP_(void) Free(void * pv);
  35. STDMETHODIMP_(SIZE_T) GetSize(void *pv);
  36. STDMETHODIMP_(int) DidAlloc(void *pv);
  37. STDMETHODIMP_(void) HeapMinimize();
  38. // ---------------------------------------------------------------------------
  39. // IMimeAllocator members
  40. // ---------------------------------------------------------------------------
  41. STDMETHODIMP ReleaseObjects(ULONG cObjects, IUnknown **prgpUnknown, boolean fFreeArray);
  42. STDMETHODIMP FreeAddressList(LPADDRESSLIST pList);
  43. STDMETHODIMP FreeAddressProps(LPADDRESSPROPS pAddress);
  44. STDMETHODIMP FreeParamInfoArray(ULONG cParams, LPMIMEPARAMINFO prgParam, boolean fFreeArray);
  45. STDMETHODIMP FreeEnumHeaderRowArray(ULONG cRows, LPENUMHEADERROW prgRow, boolean fFreeArray);
  46. STDMETHODIMP FreeEnumPropertyArray(ULONG cProps, LPENUMPROPERTY prgProp, boolean fFreeArray);
  47. STDMETHODIMP FreeThumbprint(THUMBBLOB *pthumbprint);
  48. STDMETHODIMP PropVariantClear(LPPROPVARIANT pProp);
  49. private:
  50. // ---------------------------------------------------------------------------
  51. // Private Data
  52. // ---------------------------------------------------------------------------
  53. LONG m_cRef; // Reference Counting
  54. };
  55. #endif // __MALLOC_H