1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #pragma once
- typedef enum Il2CppCallConvention
- {
- IL2CPP_CALL_DEFAULT,
- IL2CPP_CALL_C,
- IL2CPP_CALL_STDCALL,
- IL2CPP_CALL_THISCALL,
- IL2CPP_CALL_FASTCALL,
- IL2CPP_CALL_VARARG
- } Il2CppCallConvention;
- typedef enum Il2CppCharSet
- {
- CHARSET_ANSI,
- CHARSET_UNICODE,
- CHARSET_NOT_SPECIFIED
- } Il2CppCharSet;
- #include "il2cpp-windowsruntime-types.h"
- typedef void (*PInvokeMarshalToNativeFunc)(void* managedStructure, void* marshaledStructure);
- typedef void (*PInvokeMarshalFromNativeFunc)(void* marshaledStructure, void* managedStructure);
- typedef void (*PInvokeMarshalCleanupFunc)(void* marshaledStructure);
- typedef struct Il2CppIUnknown* (*CreateCCWFunc)(Il2CppObject* obj);
- #if RUNTIME_MONO
- #include "il2cpp-mapping.h"
- #endif
- typedef struct Il2CppInteropData
- {
- Il2CppMethodPointer delegatePInvokeWrapperFunction;
- PInvokeMarshalToNativeFunc pinvokeMarshalToNativeFunction;
- PInvokeMarshalFromNativeFunc pinvokeMarshalFromNativeFunction;
- PInvokeMarshalCleanupFunc pinvokeMarshalCleanupFunction;
- CreateCCWFunc createCCWFunction;
- const Il2CppGuid* guid;
- #if RUNTIME_MONO
- MonoMetadataToken typeToken;
- uint64_t hash;
- #else
- const Il2CppType* type;
- #endif
- } Il2CppInteropData;
- #if defined(__cplusplus)
- #include "utils/StringView.h"
- struct PInvokeArguments
- {
- const il2cpp::utils::StringView<Il2CppNativeChar> moduleName;
- const il2cpp::utils::StringView<char> entryPoint;
- Il2CppCallConvention callingConvention;
- Il2CppCharSet charSet;
- int parameterSize;
- bool isNoMangle; // Says whether P/Invoke should append to function name 'A'/'W' according to charSet.
- };
- #endif
|