|
|
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.