56 lines
1.3 KiB
C
56 lines
1.3 KiB
C
#pragma once
|
|
// 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.
|
|
|
|
|
|
#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 MemReAllocSecure(
|
|
__in LPVOID pv,
|
|
__in SIZE_T cbSize,
|
|
__in BOOL fZero,
|
|
__deref_out LPVOID* ppvNew
|
|
);
|
|
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
|
|
|