Skip to content

Instantly share code, notes, and snippets.

@iFlake
iFlake / Main.cs
Last active August 27, 2018 20:13
public static class MyTestApp {
private static Fleka.DotnetVcmp.Interop.PluginFunctions _pluginFunctions;
[Fleka.DotnetVcmp.Interop.EntryPoint]
public static void MyEntryPoint(Fleka.DotnetVcmp.Interop.PluginFunctions pluginFunctions, ref Fleka.DotnetVcmp.Interop.PluginCallbacks pluginCallbacks) {
_pluginFunctions = pluginFunctions;
pluginCallbacks.OnServerInitialize = OnServerInitialize;
}
{
"clr": {
"runtime-directory": "/usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.2",
"server-executable": "./mpsvrrel64",
"assemblies-directory": "./dotnet-assemblies",
"native-image-assemblies-directory": "",
"native-dll-search-directories": ["/usr/lib"]
},
"app-domain": {
"friendly-name": "Example dotnet-vcmp configuration"
public static sealed class MyTestApp {
private static PluginFunctions _pluginFunctions;
[Fleka.DotnetVcmp.Interop.EntryPoint]
void MyEntryPoint(PluginFunctions pluginFunctions, ref PluginCallbacks pluginCallbacks) {
_pluginFunctions = pluginFunctions;
pluginCallbacks.OnServerInitialize = OnServerInitialize;
}
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace Fleka.DotnetVcmp.Interop {
public delegate uint GetServerVersionDelegate();
public delegate VcmpError GetServerSettingsDelegate(ref ServerSettings serverSettings);
public delegate VcmpError ExportFunctionsDelegate(int pluginId, ref IntPtr functionList, IntPtr size);
public delegate uint GetNumberOfPluginsDelegate();
public delegate VcmpError GetPluginInfoDelegate(int pluginId, ref PluginInfo pluginInfo);