LearnWithTouch/App/LearnWithTouch_ios/Libraries/libil2cpp/include/os/COM.h
2019-07-01 14:33:21 +02:00

35 lines
1.3 KiB
C++

#pragma once
#include "il2cpp-config.h"
#include "il2cpp-object-internals.h"
namespace il2cpp
{
namespace os
{
class COM
{
public:
static il2cpp_hresult_t CreateInstance(const Il2CppGuid& clsid, Il2CppIUnknown** object);
static il2cpp_hresult_t CreateFreeThreadedMarshaler(Il2CppIUnknown* outer, Il2CppIUnknown** marshal);
// variant
static void VariantInit(Il2CppVariant* variant);
static il2cpp_hresult_t VariantClear(Il2CppVariant* variant);
// safe array
static Il2CppSafeArray* SafeArrayCreate(uint16_t type, uint32_t dimension_count, Il2CppSafeArrayBound* bounds);
static il2cpp_hresult_t SafeArrayDestroy(Il2CppSafeArray* safeArray);
static il2cpp_hresult_t SafeArrayAccessData(Il2CppSafeArray* safeArray, void** data);
static il2cpp_hresult_t SafeArrayUnaccessData(Il2CppSafeArray* safeArray);
static il2cpp_hresult_t SafeArrayGetVartype(Il2CppSafeArray* safeArray, uint16_t* type);
static uint32_t SafeArrayGetDim(Il2CppSafeArray* safeArray);
static il2cpp_hresult_t SafeArrayGetLBound(Il2CppSafeArray* safeArray, uint32_t dimention, int32_t* bound);
static il2cpp_hresult_t SafeArrayGetUBound(Il2CppSafeArray* safeArray, uint32_t dimention, int32_t* bound);
};
} /* namespace os */
} /* namespace il2cpp*/
#pragma once