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 / chap02 / malloc1 / malloc1.h < prev    next >
C/C++ Source or Header  |  1995-05-03  |  2KB  |  74 lines

  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.  
  12.  
  13. #ifndef _MALLOC1_H_
  14. #define _MALLOC1_H_
  15.  
  16. #include <inole.h>
  17. #include <malloc.h>
  18.  
  19. //Menu Resource ID and Commands
  20. #define IDR_MENU                1
  21.  
  22.  
  23. #define IDM_COGETMALLOC         100
  24. #define IDM_RELEASE             101
  25. #define IDM_ALLOC               102
  26. #define IDM_FREE                103
  27. #define IDM_REALLOC             104
  28. #define IDM_GETSIZE             105
  29. #define IDM_DIDALLOC            106
  30. #define IDM_HEAPMINIMIZE        107
  31. #define IDM_EXIT                108
  32.  
  33.  
  34.  
  35. //MALLOC1.CPP
  36. LRESULT APIENTRY MallocWndProc(HWND, UINT, WPARAM, LPARAM);
  37.  
  38. //How many allocations we'll perform
  39. #define CALLOCS 10
  40.  
  41.  
  42. typedef struct App
  43.     {
  44.     HINSTANCE       m_hInst;            //WinMain parameters
  45.     HINSTANCE       m_hInstPrev;
  46.     UINT            m_nCmdShow;
  47.  
  48.     HWND            m_hWnd;             //Main window handle
  49.     IMalloc        *m_pIMalloc;         //From CoGetMalloc
  50.  
  51.     BOOL            m_fAllocated;       //We have allocations?
  52.     ULONG           m_rgcb[CALLOCS];    //Sizes to allocate
  53.     LPVOID          m_rgpv[CALLOCS];    //Allocated pointers
  54.     } APP, *PAPP;
  55.  
  56.  
  57. PAPP App_Create(HINSTANCE, HINSTANCE, UINT);
  58. void App_Destroy(PAPP);
  59. BOOL App_Init(PAPP);
  60. void App_GetAllocator(PAPP);
  61. BOOL App_HaveAllocator(PAPP);
  62. BOOL App_DoAllocations(PAPP, BOOL);
  63. BOOL App_HaveAllocations(PAPP);
  64. void App_FreeAllocations(PAPP, BOOL);
  65. void App_Message(PAPP, LPTSTR);
  66.  
  67.  
  68.  
  69. #define CBWNDEXTRA              sizeof(PAPP)
  70. #define MALLOCWL_STRUCTURE      0
  71.  
  72.  
  73. #endif //_MALLOC1_H_
  74.