summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorstephentoub <stoub@microsoft.com>2015-10-27 12:48:10 -0400
committerstephentoub <stoub@microsoft.com>2015-10-27 14:13:53 -0400
commitac360d5cf838cada9748f9ce6dfc81c1b612c263 (patch)
tree84a0ad00550bbf9e62922491d2ad0dc1cf87214c /src
parent2698c9960a7d87aef6d770c8a6ec203f93fe6bf9 (diff)
downloadcoreclr-ac360d5cf838cada9748f9ce6dfc81c1b612c263.tar.gz
coreclr-ac360d5cf838cada9748f9ce6dfc81c1b612c263.tar.bz2
coreclr-ac360d5cf838cada9748f9ce6dfc81c1b612c263.zip
Implement CoTaskMemRealloc in PAL
Also implement CoTaskMemRealloc in PAL, as it's exposed via the public Marshal.CoTaskMemRealloc.
Diffstat (limited to 'src')
-rw-r--r--src/dlls/mscoree/mscorwks_unixexports.src1
-rw-r--r--src/pal/inc/rt/palrt.h1
-rw-r--r--src/palrt/comem.cpp5
3 files changed, 7 insertions, 0 deletions
diff --git a/src/dlls/mscoree/mscorwks_unixexports.src b/src/dlls/mscoree/mscorwks_unixexports.src
index 67afcb64c7..41e1e9caf8 100644
--- a/src/dlls/mscoree/mscorwks_unixexports.src
+++ b/src/dlls/mscoree/mscorwks_unixexports.src
@@ -22,6 +22,7 @@ CloseHandle
CoCreateGuid
CopyFileW
CoTaskMemAlloc
+CoTaskMemRealloc
CoTaskMemFree
CreateDirectoryW
CreateEventW
diff --git a/src/pal/inc/rt/palrt.h b/src/pal/inc/rt/palrt.h
index 3e3d178ea4..b983217343 100644
--- a/src/pal/inc/rt/palrt.h
+++ b/src/pal/inc/rt/palrt.h
@@ -437,6 +437,7 @@ typedef union _ULARGE_INTEGER {
/******************* OLE, BSTR, VARIANT *************************/
STDAPI_(LPVOID) CoTaskMemAlloc(SIZE_T cb);
+STDAPI_(LPVOID) CoTaskMemRealloc(LPVOID pv, SIZE_T cb);
STDAPI_(void) CoTaskMemFree(LPVOID pv);
typedef SHORT VARIANT_BOOL;
diff --git a/src/palrt/comem.cpp b/src/palrt/comem.cpp
index 1cabedaaea..7d8412e783 100644
--- a/src/palrt/comem.cpp
+++ b/src/palrt/comem.cpp
@@ -17,6 +17,11 @@ STDAPI_(LPVOID) CoTaskMemAlloc(SIZE_T cb)
return LocalAlloc(LMEM_FIXED, cb);
}
+STDAPI_(LPVOID) CoTaskMemRealloc(LPVOID pv, SIZE_T cb)
+{
+ return LocalReAlloc(pv, cb, LMEM_MOVEABLE);
+}
+
STDAPI_(void) CoTaskMemFree(LPVOID pv)
{
LocalFree(pv);