#include "runtimedetails.h"
-IExecutionEngine* IEE_t();
-HRESULT GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer, DWORD* pdwlength);
-LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes);
-BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem);
-void* GetCLRFunction(LPCSTR functionName);
+IExecutionEngine* STDMETHODCALLTYPE IEE_t();
+HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(LPWSTR pbuffer, DWORD cchBuffer, DWORD* pdwlength);
+LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes);
+BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem);
+void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName);
-typedef LPVOID (*pfnEEHeapAllocInProcessHeap)(DWORD dwFlags, SIZE_T dwBytes);
-typedef BOOL (*pfnEEHeapFreeInProcessHeap)(DWORD dwFlags, LPVOID lpMem);
+typedef LPVOID (STDMETHODCALLTYPE *pfnEEHeapAllocInProcessHeap)(DWORD dwFlags, SIZE_T dwBytes);
+typedef BOOL (STDMETHODCALLTYPE *pfnEEHeapFreeInProcessHeap)(DWORD dwFlags, LPVOID lpMem);
#endif
pfnEEHeapAllocInProcessHeap original_EEHeapAllocInProcessHeap = nullptr;
pfnEEHeapFreeInProcessHeap original_EEHeapFreeInProcessHeap = nullptr;
-IExecutionEngine* IEE_t()
+IExecutionEngine* STDMETHODCALLTYPE IEE_t()
{
interceptor_IEE* iee = new interceptor_IEE();
iee->original_IEE = original_CoreClrCallbacks->m_pfnIEE();
}
*/
-LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
+LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
{
if (original_EEHeapAllocInProcessHeap == nullptr)
__debugbreak();
return original_EEHeapAllocInProcessHeap(dwFlags, dwBytes);
}
-BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
+BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
{
if (original_EEHeapFreeInProcessHeap == nullptr)
__debugbreak();
return original_EEHeapFreeInProcessHeap(dwFlags, lpMem);
}
-void* GetCLRFunction(LPCSTR functionName)
+void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
{
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
{
pfnEEHeapAllocInProcessHeap original_EEHeapAllocInProcessHeap = nullptr;
pfnEEHeapFreeInProcessHeap original_EEHeapFreeInProcessHeap = nullptr;
-IExecutionEngine* IEE_t()
+IExecutionEngine* STDMETHODCALLTYPE IEE_t()
{
interceptor_IEE* iee = new interceptor_IEE();
iee->original_IEE = original_CoreClrCallbacks->m_pfnIEE();
}
*/
-LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
+LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
{
if (original_EEHeapAllocInProcessHeap == nullptr)
__debugbreak();
return original_EEHeapAllocInProcessHeap(dwFlags, dwBytes);
}
-BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
+BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
{
if (original_EEHeapFreeInProcessHeap == nullptr)
__debugbreak();
return original_EEHeapFreeInProcessHeap(dwFlags, lpMem);
}
-void* GetCLRFunction(LPCSTR functionName)
+void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
{
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
{
pfnEEHeapAllocInProcessHeap original_EEHeapAllocInProcessHeap = nullptr;
pfnEEHeapFreeInProcessHeap original_EEHeapFreeInProcessHeap = nullptr;
-IExecutionEngine* IEE_t()
+IExecutionEngine* STDMETHODCALLTYPE IEE_t()
{
interceptor_IEE* iee = new interceptor_IEE();
iee->original_IEE = original_CoreClrCallbacks->m_pfnIEE();
}
*/
-LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
+LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
{
return original_EEHeapAllocInProcessHeap(dwFlags, dwBytes);
}
-BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
+BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
{
return original_EEHeapFreeInProcessHeap(dwFlags, lpMem);
}
-void* GetCLRFunction(LPCSTR functionName)
+void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
{
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
{
#include "coreclrcallbacks.h"
#include "iexecutionengine.h"
-IExecutionEngine* IEE_t()
+IExecutionEngine* STDMETHODCALLTYPE IEE_t()
{
MyIEE* iee = InitIExecutionEngine();
return iee;
HANDLE ourHeap = nullptr;
-LPVOID EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
+LPVOID STDMETHODCALLTYPE EEHeapAllocInProcessHeap(DWORD dwFlags, SIZE_T dwBytes)
{
if (ourHeap == nullptr)
ourHeap = HeapCreate(0, 4096, 0);
return result;
}
-BOOL EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
+BOOL STDMETHODCALLTYPE EEHeapFreeInProcessHeap(DWORD dwFlags, LPVOID lpMem)
{
// return true;
return HeapFree(ourHeap, dwFlags, lpMem);
}
-void* GetCLRFunction(LPCSTR functionName)
+void* STDMETHODCALLTYPE GetCLRFunction(LPCSTR functionName)
{
if (strcmp(functionName, "EEHeapAllocInProcessHeap") == 0)
return (void*)EEHeapAllocInProcessHeap;