|
|
1.1 ! root 1: ! 2: ! 3: ! 4: #include "perfmon.h" // included by all perfmon sources ! 5: #include "pmemory.h" // external declarations for this file ! 6: ! 7: ! 8: LPMEMORY MemoryAllocate (DWORD dwSize) ! 9: { // MemoryAllocate ! 10: HMEMORY hMemory ; ! 11: LPMEMORY lpMemory ; ! 12: ! 13: hMemory = GlobalAlloc (GHND, dwSize) ; ! 14: if (!hMemory) ! 15: return (NULL) ; ! 16: lpMemory = GlobalLock (hMemory) ; ! 17: if (!lpMemory) ! 18: GlobalFree (hMemory) ; ! 19: return (lpMemory) ; ! 20: } // MemoryAllocate ! 21: ! 22: ! 23: VOID MemoryFree (LPMEMORY lpMemory) ! 24: { // MemoryFree ! 25: HMEMORY hMemory ; ! 26: ! 27: if (!lpMemory) ! 28: return ; ! 29: ! 30: hMemory = GlobalHandle (lpMemory) ; ! 31: ! 32: if (hMemory) ! 33: { // if ! 34: GlobalUnlock (hMemory) ; ! 35: GlobalFree (hMemory) ; ! 36: } // if ! 37: } // MemoryFree ! 38: ! 39: ! 40: DWORD MemorySize (LPMEMORY lpMemory) ! 41: { ! 42: HMEMORY hMemory ; ! 43: ! 44: hMemory = GlobalHandle (lpMemory) ; ! 45: if (!hMemory) ! 46: return (0L) ; ! 47: ! 48: return (GlobalSize (hMemory)) ; ! 49: } ! 50: ! 51: ! 52: LPMEMORY MemoryResize (LPMEMORY lpMemory, ! 53: DWORD dwNewSize) ! 54: { ! 55: HMEMORY hMemory ; ! 56: LPMEMORY lpNewMemory ; ! 57: ! 58: hMemory = GlobalHandle (lpMemory) ; ! 59: if (!hMemory) ! 60: return (NULL) ; ! 61: ! 62: GlobalUnlock (hMemory) ; ! 63: ! 64: hMemory = GlobalReAlloc (hMemory, dwNewSize, GHND) ; ! 65: ! 66: if (!hMemory) ! 67: return (NULL) ; ! 68: ! 69: ! 70: lpNewMemory = GlobalLock (hMemory) ; ! 71: ! 72: return (lpNewMemory) ; ! 73: } // MemoryResize ! 74: ! 75: ! 76: ! 77:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.