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

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * MALLOC1.H
  3.  * C Malloc Demonstration Chapter 2
  4.  *
  5.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  6.  *
  7.  * Kraig Brockschmidt, Microsoft
  8.  * Internet  :  kraigb@microsoft.com
  9.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  10.  */
  11. #ifndef _MALLOC1_H_
  12. #define _MALLOC1_H_
  13. #include <inole.h>
  14. #include <malloc.h>
  15. //Menu Resource ID and Commands
  16. #define IDR_MENU                1
  17. #define IDM_COGETMALLOC         100
  18. #define IDM_RELEASE             101
  19. #define IDM_ALLOC               102
  20. #define IDM_FREE                103
  21. #define IDM_REALLOC             104
  22. #define IDM_GETSIZE             105
  23. #define IDM_DIDALLOC            106
  24. #define IDM_HEAPMINIMIZE        107
  25. #define IDM_EXIT                108
  26. //MALLOC1.CPP
  27. LRESULT APIENTRY MallocWndProc(HWND, UINT, WPARAM, LPARAM);
  28. //How many allocations we'll perform
  29. #define CALLOCS 10
  30. typedef struct App
  31.     {
  32.     HINSTANCE       m_hInst;            //WinMain parameters
  33.     HINSTANCE       m_hInstPrev;
  34.     UINT            m_nCmdShow;
  35.     HWND            m_hWnd;             //Main window handle
  36.     IMalloc        *m_pIMalloc;         //From CoGetMalloc
  37.     BOOL            m_fAllocated;       //We have allocations?
  38.     ULONG           m_rgcb[CALLOCS];    //Sizes to allocate
  39.     LPVOID          m_rgpv[CALLOCS];    //Allocated pointers
  40.     } APP, *PAPP;
  41. PAPP App_Create(HINSTANCE, HINSTANCE, UINT);
  42. void App_Destroy(PAPP);
  43. BOOL App_Init(PAPP);
  44. void App_GetAllocator(PAPP);
  45. BOOL App_HaveAllocator(PAPP);
  46. BOOL App_DoAllocations(PAPP, BOOL);
  47. BOOL App_HaveAllocations(PAPP);
  48. void App_FreeAllocations(PAPP, BOOL);
  49. void App_Message(PAPP, LPTSTR);
  50. #define CBWNDEXTRA              sizeof(PAPP)
  51. #define MALLOCWL_STRUCTURE      0
  52. #endif //_MALLOC1_H_