1234567891011121314151617181920212223242526272829303132 |
- #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
|