Advertisement
RamireDu06

Untitled

Aug 29th, 2019
463
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.05 KB | None | 0 0
  1. using System.Text;
  2. using System.Runtime.InteropServices;
  3. using RGiesecke.DllExport;
  4.  
  5. class MyExtension
  6. {
  7.     [DllExport("RVExtensionVersion", CallingConvention = CallingConvention.Winapi)]
  8.  
  9.     public static void RvExtensionVersion(StringBuilder output, int outputSize)
  10.     {
  11.         output.Append("Test-Extension v1.0");
  12.     }
  13.  
  14.     [DllExport("RVExtension", CallingConvention = CallingConvention.Winapi)]
  15.  
  16.     public static void RvExtension(StringBuilder output, int outputSize,
  17.         [MarshalAs(UnmanagedType.LPStr)] string function)
  18.     {
  19.         output.Append(function);
  20.     }
  21.  
  22.     [DllExport("RVExtensionArgs", CallingConvention = CallingConvention.Winapi)]
  23.  
  24.     public static int RvExtensionArgs(StringBuilder output, int outputSize,
  25.         [MarshalAs(UnmanagedType.LPStr)] string function,
  26.         [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr, SizeParamIndex = 4)] string[] args, int argCount)
  27.     {
  28.         foreach (var arg in args)
  29.         {
  30.             output.Append(arg);
  31.         }
  32.         return 0;
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement