public static MethodSig Read(BinaryStreamReader signatureBlobReader) { var callingConvention = (CallingConventions)signatureBlobReader.ReadByte(); MethodSig result; switch (callingConvention & ~CallingConventions.HasThis & ~CallingConventions.ExplicitThis) { case CallingConventions.Default: result = new Default(); break; case CallingConventions.C: result = new C(); break; case CallingConventions.StdCall: result = new StdCall(); break; case CallingConventions.FastCall: result = new FastCall(); break; case CallingConventions.VarArg: result = new VarArg(); break; case CallingConventions.Generic: { var typed = new Generic(); typed.ReadDetails(signatureBlobReader); result = typed; } break; default: throw new BadImageFormatException("Invalid calling convention byte " + callingConvention + "."); } result.ReadParameters(signatureBlobReader); return(result); }
public static IntPtr WndProc(IntPtr hWnd, UInt32 msg, UInt32 wParam, UInt32 lParam) { return(StdCall.Invoke <IntPtr>(GameAddresses.WndProc, hWnd, msg, wParam, lParam)); }
public static ThreadLocalStorage GetThreadLocalStorage() { return(StdCall.Invoke <ThreadLocalStorage>(GameAddresses.GetThreadLocalStorage)); }
public static IntPtr InitNatives() { return(StdCall.Invoke <IntPtr>(GameAddresses.InitNatives)); }
public static unsafe ThreadLocalStorage *GetThreadLocalStorage() { return((ThreadLocalStorage *)(void *)StdCall.Invoke <IntPtr>(GameAddresses.GetThreadLocalStorage)); }
private static JassBoolean IsReplayMode() => StdCall.Invoke <bool>(GameDll + 0x35FDD0);
public static IntPtr WndProc(IntPtr hWnd, uint msg, uint wParam, uint lParam) { return(StdCall.Invoke <IntPtr>(GameAddresses.WndProc, hWnd, msg, wParam, lParam)); }
public static MethodSig Read(BinaryStreamReader signatureBlobReader) { var callingConvention = (CallingConventions)signatureBlobReader.ReadByte(); MethodSig result; switch (callingConvention & ~CallingConventions.HasThis & ~CallingConventions.ExplicitThis) { case CallingConventions.Default: result = new Default(); break; case CallingConventions.C: result = new C(); break; case CallingConventions.StdCall: result = new StdCall(); break; case CallingConventions.FastCall: result = new FastCall(); break; case CallingConventions.VarArg: result = new VarArg(); break; case CallingConventions.Generic: { var typed = new Generic(); typed.ReadDetails(signatureBlobReader); result = typed; } break; default: throw new BadImageFormatException("Invalid calling convention byte "+callingConvention+"."); } result.ReadParameters(signatureBlobReader); return result; }