X Tutup
using System; namespace Python.Runtime { /// /// Provides support for calling native code indirectly through /// function pointers. Most of the important parts of the Python /// C API can just be wrapped with p/invoke, but there are some /// situations (specifically, calling functions through Python /// type structures) where we need to call functions indirectly. /// internal unsafe class NativeCall { public static void CallDealloc(IntPtr fp, StolenReference a1) { var d = (delegate* unmanaged[Cdecl])fp; d(a1); } public static NewReference Call_3(IntPtr fp, BorrowedReference a1, BorrowedReference a2, BorrowedReference a3) { var d = (delegate* unmanaged[Cdecl])fp; return d(a1, a2, a3); } public static int Int_Call_3(IntPtr fp, BorrowedReference a1, BorrowedReference a2, BorrowedReference a3) { var d = (delegate* unmanaged[Cdecl])fp; return d(a1, a2, a3); } } }
X Tutup