| #pragma once | |
| //------------------------------------------------------------------------------------------------- | |
| // <copyright file="memutil.h" company="Outercurve Foundation"> | |
| // Copyright (c) 2004, Outercurve Foundation. | |
| // This software is released under Microsoft Reciprocal License (MS-RL). | |
| // The license and further copyright text can be found in the file | |
| // LICENSE.TXT at the root directory of the distribution. | |
| // </copyright> | |
| // | |
| // <summary> | |
| // Header for memory helper functions. | |
| // </summary> | |
| //------------------------------------------------------------------------------------------------- | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #define ReleaseMem(p) if (p) { MemFree(p); } | |
| #define ReleaseNullMem(p) if (p) { MemFree(p); p = NULL; } | |
| HRESULT DAPI MemInitialize(); | |
| void DAPI MemUninitialize(); | |
| LPVOID DAPI MemAlloc( | |
| __in SIZE_T cbSize, | |
| __in BOOL fZero | |
| ); | |
| LPVOID DAPI MemReAlloc( | |
| __in LPVOID pv, | |
| __in SIZE_T cbSize, | |
| __in BOOL fZero | |
| ); | |
| HRESULT DAPI MemEnsureArraySize( | |
| __deref_out_bcount(cArray * cbArrayType) LPVOID* ppvArray, | |
| __in DWORD cArray, | |
| __in SIZE_T cbArrayType, | |
| __in DWORD dwGrowthCount | |
| ); | |
| HRESULT DAPI MemInsertIntoArray( | |
| __deref_out_bcount((cExistingArray + cNumInsertItems) * cbArrayType) LPVOID* ppvArray, | |
| __in DWORD dwInsertIndex, | |
| __in DWORD cNumInsertItems, | |
| __in DWORD cExistingArray, | |
| __in SIZE_T cbArrayType, | |
| __in DWORD dwGrowthCount | |
| ); | |
| HRESULT DAPI MemFree( | |
| __in LPVOID pv | |
| ); | |
| SIZE_T DAPI MemSize( | |
| __in LPCVOID pv | |
| ); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |