diff options
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/inc/memutil.h')
-rw-r--r-- | src/libs/dutil/WixToolset.DUtil/inc/memutil.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/memutil.h b/src/libs/dutil/WixToolset.DUtil/inc/memutil.h new file mode 100644 index 00000000..49f86e0a --- /dev/null +++ b/src/libs/dutil/WixToolset.DUtil/inc/memutil.h | |||
@@ -0,0 +1,80 @@ | |||
1 | #pragma once | ||
2 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
3 | |||
4 | |||
5 | #ifdef __cplusplus | ||
6 | extern "C" { | ||
7 | #endif | ||
8 | |||
9 | #define ReleaseMem(p) if (p) { MemFree(p); } | ||
10 | #define ReleaseNullMem(p) if (p) { MemFree(p); p = NULL; } | ||
11 | |||
12 | HRESULT DAPI MemInitialize(); | ||
13 | void DAPI MemUninitialize(); | ||
14 | |||
15 | LPVOID DAPI MemAlloc( | ||
16 | __in SIZE_T cbSize, | ||
17 | __in BOOL fZero | ||
18 | ); | ||
19 | LPVOID DAPI MemReAlloc( | ||
20 | __in LPVOID pv, | ||
21 | __in SIZE_T cbSize, | ||
22 | __in BOOL fZero | ||
23 | ); | ||
24 | HRESULT DAPI MemReAllocSecure( | ||
25 | __in LPVOID pv, | ||
26 | __in SIZE_T cbSize, | ||
27 | __in BOOL fZero, | ||
28 | __deref_out LPVOID* ppvNew | ||
29 | ); | ||
30 | HRESULT DAPI MemAllocArray( | ||
31 | __inout LPVOID* ppvArray, | ||
32 | __in SIZE_T cbArrayType, | ||
33 | __in DWORD dwItemCount | ||
34 | ); | ||
35 | HRESULT DAPI MemReAllocArray( | ||
36 | __inout LPVOID* ppvArray, | ||
37 | __in DWORD cArray, | ||
38 | __in SIZE_T cbArrayType, | ||
39 | __in DWORD dwNewItemCount | ||
40 | ); | ||
41 | HRESULT DAPI MemEnsureArraySize( | ||
42 | __deref_inout_bcount(cArray * cbArrayType) LPVOID* ppvArray, | ||
43 | __in DWORD cArray, | ||
44 | __in SIZE_T cbArrayType, | ||
45 | __in DWORD dwGrowthCount | ||
46 | ); | ||
47 | HRESULT DAPI MemInsertIntoArray( | ||
48 | __deref_inout_bcount((cExistingArray + cInsertItems) * cbArrayType) LPVOID* ppvArray, | ||
49 | __in DWORD dwInsertIndex, | ||
50 | __in DWORD cInsertItems, | ||
51 | __in DWORD cExistingArray, | ||
52 | __in SIZE_T cbArrayType, | ||
53 | __in DWORD dwGrowthCount | ||
54 | ); | ||
55 | void DAPI MemRemoveFromArray( | ||
56 | __inout_bcount((cExistingArray) * cbArrayType) LPVOID pvArray, | ||
57 | __in DWORD dwRemoveIndex, | ||
58 | __in DWORD cRemoveItems, | ||
59 | __in DWORD cExistingArray, | ||
60 | __in SIZE_T cbArrayType, | ||
61 | __in BOOL fPreserveOrder | ||
62 | ); | ||
63 | void DAPI MemArraySwapItems( | ||
64 | __inout_bcount(cbArrayType) LPVOID pvArray, | ||
65 | __in DWORD dwIndex1, | ||
66 | __in DWORD dwIndex2, | ||
67 | __in SIZE_T cbArrayType | ||
68 | ); | ||
69 | |||
70 | HRESULT DAPI MemFree( | ||
71 | __in LPVOID pv | ||
72 | ); | ||
73 | SIZE_T DAPI MemSize( | ||
74 | __in LPCVOID pv | ||
75 | ); | ||
76 | |||
77 | #ifdef __cplusplus | ||
78 | } | ||
79 | #endif | ||
80 | |||