Files
RedHotRoast-ios/HybridCLRData/LocalIl2CppData-OSXEditor/il2cpp/libil2cpp/os/Win32/MarshalStringAlloc.cpp
T

33 lines
804 B
C++
Raw Normal View History

2026-07-17 14:03:00 +08:00
#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