#include "il2cpp-config.h" #if !IL2CPP_USE_GENERIC_COM #include "os/MarshalStringAlloc.h" #include "WindowsHeaders.h" namespace il2cpp { namespace os { il2cpp_hresult_t MarshalStringAlloc::AllocateBStringLength(const Il2CppChar* text, int32_t length, Il2CppChar** bstr) { IL2CPP_ASSERT(bstr); *bstr = ::SysAllocStringLen(text, length); return *bstr ? IL2CPP_S_OK : IL2CPP_E_OUTOFMEMORY; } il2cpp_hresult_t MarshalStringAlloc::GetBStringLength(const Il2CppChar* bstr, int32_t* length) { IL2CPP_ASSERT(length); *length = ::SysStringLen((BSTR)bstr); return IL2CPP_S_OK; } il2cpp_hresult_t MarshalStringAlloc::FreeBString(Il2CppChar* bstr) { ::SysFreeString((BSTR)bstr); return IL2CPP_S_OK; } } } #endif