From bdb6ae7947223fc33de0c677e20026f3e1a89107 Mon Sep 17 00:00:00 2001 From: timyhac Date: Sun, 24 May 2026 19:29:54 +1000 Subject: [PATCH] Adds new `plc_tag_create_from_tag` method available from v2.7.0 --- src/libplctag.NativeImport/NativeMethods.cs | 2 ++ src/libplctag.NativeImport/plctag.cs | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/libplctag.NativeImport/NativeMethods.cs b/src/libplctag.NativeImport/NativeMethods.cs index 37d2ee26..00958089 100644 --- a/src/libplctag.NativeImport/NativeMethods.cs +++ b/src/libplctag.NativeImport/NativeMethods.cs @@ -53,6 +53,8 @@ static NativeMethods() [DllImport(DLL_NAME, EntryPoint = nameof(plc_tag_create_ex), CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] public static extern Int32 plc_tag_create_ex([MarshalAs(UnmanagedType.LPStr)] string lpString, callback_func_ex func, IntPtr userdata, int timeout); + [DllImport(DLL_NAME, EntryPoint = nameof(plc_tag_create_from_tag), CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, CharSet = CharSet.Ansi)] + public static extern Int32 plc_tag_create_from_tag(Int32 src_tag_id, [MarshalAs(UnmanagedType.LPStr)] string attrib_str, callback_func_ex func, IntPtr userdata, int timeout); [DllImport(DLL_NAME, EntryPoint = nameof(plc_tag_destroy), CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)] public static extern int plc_tag_destroy(Int32 tag); diff --git a/src/libplctag.NativeImport/plctag.cs b/src/libplctag.NativeImport/plctag.cs index 07eb31d1..48817096 100644 --- a/src/libplctag.NativeImport/plctag.cs +++ b/src/libplctag.NativeImport/plctag.cs @@ -44,6 +44,11 @@ public static Int32 plc_tag_create_ex(string lpString, callback_func_ex func, In return NativeMethods.plc_tag_create_ex(lpString, func, userdata, timeout); } + public static Int32 plc_tag_create_from_tag(Int32 src_tag_id, string attrib_str, callback_func_ex func, IntPtr userdata, int timeout) + { + return plc_tag_create_from_tag(src_tag_id, attrib_str, func, userdata, timeout); + } + public static int plc_tag_destroy(Int32 tag) { return NativeMethods.plc_tag_destroy(tag);