From 3424a580fe51830d2246f42b871e9d1760146c63 Mon Sep 17 00:00:00 2001 From: Eugene Wang <8755753+soukoku@users.noreply.github.com> Date: Sun, 9 Apr 2023 21:16:30 -0400 Subject: [PATCH] Added net7 targets and uses LibraryImport on them for pinvokes. --- Build.cmd | 1 + NTwain.sln | 1 - global.json | 7 - samples/WinForm32/WinForm32.csproj | 2 +- samples/WinForm64/WinForm64.csproj | 2 +- src/NTwain/DSM/DSMGenerator.tt | 261 ++++++++++++++++++-------- src/NTwain/DSM/Linux64DSM.cs | 254 ++++++++++++++++++------- src/NTwain/DSM/LinuxBotched64DSM.cs | 254 ++++++++++++++++++------- src/NTwain/DSM/LinuxDSM.cs | 254 ++++++++++++++++++------- src/NTwain/DSM/OSXLegacyDSM.cs | 254 ++++++++++++++++++------- src/NTwain/DSM/OSXNewDSM.cs | 254 ++++++++++++++++++------- src/NTwain/DSM/WinLegacyDSM.cs | 254 ++++++++++++++++++------- src/NTwain/DSM/WinNewDSM.cs | 254 ++++++++++++++++++------- src/NTwain/Data/TWAINH_EXTRAS.cs | 5 +- src/NTwain/NTwain.csproj | 4 +- src/NTwain/Native/MemoryMgmt.cs | 41 ---- src/NTwain/Native/WinNativeMethods.cs | 59 ++++++ src/NTwain/Native/WinformPumpTest.cs | 14 -- src/NTwain/TwainAppSession.Memory.cs | 8 +- 19 files changed, 1522 insertions(+), 661 deletions(-) delete mode 100644 global.json delete mode 100644 src/NTwain/Native/MemoryMgmt.cs create mode 100644 src/NTwain/Native/WinNativeMethods.cs delete mode 100644 src/NTwain/Native/WinformPumpTest.cs diff --git a/Build.cmd b/Build.cmd index f015172..e8da4f9 100644 --- a/Build.cmd +++ b/Build.cmd @@ -1,4 +1,5 @@ @echo off cls +dotnet clean src\NTwain -c Release dotnet pack src\NTwain -c Release -o build pause \ No newline at end of file diff --git a/NTwain.sln b/NTwain.sln index 263b19b..77876ce 100644 --- a/NTwain.sln +++ b/NTwain.sln @@ -7,7 +7,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_common", "_common", "{4CE0 ProjectSection(SolutionItems) = preProject Build.cmd = Build.cmd src\Directory.Build.props = src\Directory.Build.props - global.json = global.json LICENSE.txt = LICENSE.txt README.md = README.md EndProjectSection diff --git a/global.json b/global.json deleted file mode 100644 index b51e2d4..0000000 --- a/global.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // have to use v6 since v7 doesn't generate correct version attributes - // for -windows variant - "sdk": { - "version": "6.0" - } -} \ No newline at end of file diff --git a/samples/WinForm32/WinForm32.csproj b/samples/WinForm32/WinForm32.csproj index 822c7a8..da18e6d 100644 --- a/samples/WinForm32/WinForm32.csproj +++ b/samples/WinForm32/WinForm32.csproj @@ -2,7 +2,7 @@ WinExe - net6.0-windows + net7.0-windows enable true x86 diff --git a/samples/WinForm64/WinForm64.csproj b/samples/WinForm64/WinForm64.csproj index 27f29c2..98161d9 100644 --- a/samples/WinForm64/WinForm64.csproj +++ b/samples/WinForm64/WinForm64.csproj @@ -2,7 +2,7 @@ WinExe - net6.0-windows + net7.0-windows enable true x64 diff --git a/src/NTwain/DSM/DSMGenerator.tt b/src/NTwain/DSM/DSMGenerator.tt index f012895..be99d7b 100644 --- a/src/NTwain/DSM/DSMGenerator.tt +++ b/src/NTwain/DSM/DSMGenerator.tt @@ -27,263 +27,374 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using <#= file.dllPath #>. <#= file.addlInfo #> /// - public static class <#= file.className #> + public static partial class <#= file.className #> { const string DsmName = "<#= file.dllPath #>"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref <#= file.identityClass #> twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); <# if (file.className.StartsWith("OSX")) { #> - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER_MACOSX memxfer ); <# } else { #> - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER memxfer ); <# } #> - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref <#= file.identityClass #> origin, ref <#= file.identityClass #> dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/DSM/Linux64DSM.cs b/src/NTwain/DSM/Linux64DSM.cs index 7713db0..24183e4 100644 --- a/src/NTwain/DSM/Linux64DSM.cs +++ b/src/NTwain/DSM/Linux64DSM.cs @@ -7,254 +7,362 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using /usr/local/lib64/libtwaindsm.so. For versions since 2.4. /// - public static class Linux64DSM + public static partial class Linux64DSM { const string DsmName = "/usr/local/lib64/libtwaindsm.so"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_IDENTITY_LEGACY twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/DSM/LinuxBotched64DSM.cs b/src/NTwain/DSM/LinuxBotched64DSM.cs index f94dd42..763424c 100644 --- a/src/NTwain/DSM/LinuxBotched64DSM.cs +++ b/src/NTwain/DSM/LinuxBotched64DSM.cs @@ -7,254 +7,362 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using /usr/local/lib/libtwaindsm.so.2.3.2. For versions before 2.4. /// - public static class LinuxBotched64DSM + public static partial class LinuxBotched64DSM { const string DsmName = "/usr/local/lib/libtwaindsm.so.2.3.2"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_IDENTITY twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY origin, ref TW_IDENTITY dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/DSM/LinuxDSM.cs b/src/NTwain/DSM/LinuxDSM.cs index bddb350..d3cd359 100644 --- a/src/NTwain/DSM/LinuxDSM.cs +++ b/src/NTwain/DSM/LinuxDSM.cs @@ -7,254 +7,362 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using /usr/local/lib/libtwaindsm.so. /// - public static class LinuxDSM + public static partial class LinuxDSM { const string DsmName = "/usr/local/lib/libtwaindsm.so"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_IDENTITY_LEGACY twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/DSM/OSXLegacyDSM.cs b/src/NTwain/DSM/OSXLegacyDSM.cs index 9fc1512..60eb798 100644 --- a/src/NTwain/DSM/OSXLegacyDSM.cs +++ b/src/NTwain/DSM/OSXLegacyDSM.cs @@ -7,254 +7,362 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using /System/Library/Frameworks/framework/TWAIN. /// - public static class OSXLegacyDSM + public static partial class OSXLegacyDSM { const string DsmName = "/System/Library/Frameworks/framework/TWAIN"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_IDENTITY_MACOSX twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER_MACOSX memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/DSM/OSXNewDSM.cs b/src/NTwain/DSM/OSXNewDSM.cs index 7e62ea8..72b46fd 100644 --- a/src/NTwain/DSM/OSXNewDSM.cs +++ b/src/NTwain/DSM/OSXNewDSM.cs @@ -7,254 +7,362 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using /Library/Frameworks/TWAINDSM.framework/TWAINDSM. /// - public static class OSXNewDSM + public static partial class OSXNewDSM { const string DsmName = "/Library/Frameworks/TWAINDSM.framework/TWAINDSM"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_IDENTITY_MACOSX twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER_MACOSX memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_MACOSX origin, ref TW_IDENTITY_MACOSX dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/DSM/WinLegacyDSM.cs b/src/NTwain/DSM/WinLegacyDSM.cs index 4398b08..aa77407 100644 --- a/src/NTwain/DSM/WinLegacyDSM.cs +++ b/src/NTwain/DSM/WinLegacyDSM.cs @@ -7,254 +7,362 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using twain_32.dll. For 32bit only. /// - public static class WinLegacyDSM + public static partial class WinLegacyDSM { const string DsmName = "twain_32.dll"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_IDENTITY_LEGACY twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/DSM/WinNewDSM.cs b/src/NTwain/DSM/WinNewDSM.cs index e6b136e..88c6587 100644 --- a/src/NTwain/DSM/WinNewDSM.cs +++ b/src/NTwain/DSM/WinNewDSM.cs @@ -7,254 +7,362 @@ namespace NTwain.DSM /// /// Low-level pinvoke methods using twaindsm.dll. /// - public static class WinNewDSM + public static partial class WinNewDSM { const string DsmName = "twaindsm.dll"; - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref IntPtr hwnd ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, IntPtr zero ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref IntPtr mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_IDENTITY_LEGACY twidentity ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUS twstatus ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_STATUSUTF8 twstatusutf8 ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, IntPtr dest, DG dg, DAT dat, MSG msg, ref TW_ENTRYPOINT twentrypoint ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_DEVICEEVENT twdeviceevent ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CUSTOMDSDATA twcustomedsdata ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CALLBACK2 twcallback ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref DG xfergroup ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_USERINTERFACE userinterface ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EVENT evt ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_TWAINDIRECT task ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PENDINGXFERS pendingxfers ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_SETUPFILEXFER filexfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_METRICS metrics ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PASSTHRU passthru ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILESYSTEM filesystem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CAPABILITY cap ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_AUDIOINFO auioinfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEMEMXFER memxfer ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_CIECOLOR ciecolor ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_EXTIMAGEINFO imginfo ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_FILTER filter ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_GRAYRESPONSE resp ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_MEMORY mem ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGEINFO info ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_IMAGELAYOUT layout ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_JPEGCOMPRESSION compression ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_PALETTE8 palette ); - [DllImport(DsmName, CharSet = CharSet.Ansi)] - public static extern TWRC DSM_Entry +#if NET7_0_OR_GREATER + [LibraryImport(DsmName)] public static partial TWRC DSM_Entry +#else + [DllImport(DsmName)] public static extern TWRC DSM_Entry +#endif ( ref TW_IDENTITY_LEGACY origin, ref TW_IDENTITY_LEGACY dest, DG dg, DAT dat, MSG msg, ref TW_RGBRESPONSE resp diff --git a/src/NTwain/Data/TWAINH_EXTRAS.cs b/src/NTwain/Data/TWAINH_EXTRAS.cs index d7d69a3..f1b1372 100644 --- a/src/NTwain/Data/TWAINH_EXTRAS.cs +++ b/src/NTwain/Data/TWAINH_EXTRAS.cs @@ -835,7 +835,6 @@ namespace NTwain.Data /// A quick way to create a query object with only values. /// Limit is 100 at this time. /// - /// /// /// public static TW_EXTIMAGEINFO CreateRequest(params TWEI[] infoNames) @@ -859,7 +858,6 @@ namespace NTwain.Data /// /// Reads the info out of this as array. /// - /// /// public TW_INFO[] AsInfos() { @@ -1002,9 +1000,8 @@ namespace NTwain.Data /// For pointers you'd read it yourself with /// . /// Unless it's a handle () to non-twain-strings, then you'd use - /// . + /// . /// - /// /// /// public unsafe TValue ReadNonPointerData() where TValue : struct diff --git a/src/NTwain/NTwain.csproj b/src/NTwain/NTwain.csproj index 1e04b0f..69ca562 100644 --- a/src/NTwain/NTwain.csproj +++ b/src/NTwain/NTwain.csproj @@ -3,12 +3,12 @@ NTwain Library containing the TWAIN API for dotnet. - net6.0;net6.0-windows;net462; + net6.0;net6.0-windows;net7.0;net7.0-windows;net462; enable true - + true true diff --git a/src/NTwain/Native/MemoryMgmt.cs b/src/NTwain/Native/MemoryMgmt.cs deleted file mode 100644 index 331c15d..0000000 --- a/src/NTwain/Native/MemoryMgmt.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -namespace NTwain.Native -{ - static class NativeMemoryMethods - { - [DllImport("kernel32", SetLastError = true, EntryPoint = "GlobalAlloc")] - public static extern IntPtr WinGlobalAlloc(AllocFlag uFlags, UIntPtr dwBytes); - - [DllImport("kernel32", SetLastError = true, EntryPoint = "GlobalFree")] - public static extern IntPtr WinGlobalFree(IntPtr hMem); - - [DllImport("kernel32", SetLastError = true, EntryPoint = "GlobalLock")] - public static extern IntPtr WinGlobalLock(IntPtr handle); - - [DllImport("kernel32", SetLastError = true, EntryPoint = "GlobalUnlock")] - [return: MarshalAs(UnmanagedType.Bool)] - public static extern bool WinGlobalUnlock(IntPtr handle); - - [Flags] - public enum AllocFlag : uint - { - /// - /// Allocates fixed memory. The return value is a pointer. - /// - GMEM_FIXED = 0, - /// - /// Allocates movable memory. Memory blocks are never moved in physical memory, but they can be moved within the default heap. - /// The return value is a handle to the memory object. To translate the handle into a pointer, use the GlobalLock function. - /// - GMEM_MOVEABLE = 2, - /// - /// Initializes memory contents to zero. - /// - GMEM_ZEROINIT = 0x40, - GPTR = GMEM_FIXED | GMEM_ZEROINIT, - GHND = GMEM_MOVEABLE | GMEM_ZEROINIT - } - } -} diff --git a/src/NTwain/Native/WinNativeMethods.cs b/src/NTwain/Native/WinNativeMethods.cs new file mode 100644 index 0000000..d18caf8 --- /dev/null +++ b/src/NTwain/Native/WinNativeMethods.cs @@ -0,0 +1,59 @@ +using System; +using System.Runtime.InteropServices; + +namespace NTwain.Native +{ + /// + /// Native methods for windows. + /// + static partial class WinNativeMethods + { +#if NET7_0_OR_GREATER + [LibraryImport("kernel32", SetLastError = true)] + public static partial IntPtr GlobalAlloc(AllocFlag uFlags, UIntPtr dwBytes); + + [LibraryImport("kernel32", SetLastError = true)] + public static partial IntPtr GlobalFree(IntPtr hMem); + + [LibraryImport("kernel32", SetLastError = true)] + public static partial IntPtr GlobalLock(IntPtr handle); + + [LibraryImport("kernel32", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + public static partial bool GlobalUnlock(IntPtr handle); +#else + [DllImport("kernel32", SetLastError = true)] + public static extern IntPtr GlobalAlloc(AllocFlag uFlags, UIntPtr dwBytes); + + [DllImport("kernel32", SetLastError = true)] + public static extern IntPtr GlobalFree(IntPtr hMem); + + [DllImport("kernel32", SetLastError = true)] + public static extern IntPtr GlobalLock(IntPtr handle); + + [DllImport("kernel32", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool GlobalUnlock(IntPtr handle); +#endif + + [Flags] + public enum AllocFlag : uint + { + /// + /// Allocates fixed memory. The return value is a pointer. + /// + GMEM_FIXED = 0, + /// + /// Allocates movable memory. Memory blocks are never moved in physical memory, but they can be moved within the default heap. + /// The return value is a handle to the memory object. To translate the handle into a pointer, use the GlobalLock function. + /// + GMEM_MOVEABLE = 2, + /// + /// Initializes memory contents to zero. + /// + GMEM_ZEROINIT = 0x40, + GPTR = GMEM_FIXED | GMEM_ZEROINIT, + GHND = GMEM_MOVEABLE | GMEM_ZEROINIT + } + } +} diff --git a/src/NTwain/Native/WinformPumpTest.cs b/src/NTwain/Native/WinformPumpTest.cs deleted file mode 100644 index f38dd4d..0000000 --- a/src/NTwain/Native/WinformPumpTest.cs +++ /dev/null @@ -1,14 +0,0 @@ -#if WINDOWS || NETFRAMEWORK -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace NTwain.Native -{ - internal class WinformPumpTest - { - } -} -#endif \ No newline at end of file diff --git a/src/NTwain/TwainAppSession.Memory.cs b/src/NTwain/TwainAppSession.Memory.cs index 0086117..c271d8e 100644 --- a/src/NTwain/TwainAppSession.Memory.cs +++ b/src/NTwain/TwainAppSession.Memory.cs @@ -19,7 +19,7 @@ namespace NTwain } else if (TWPlatform.IsWindows) { - return NativeMemoryMethods.WinGlobalAlloc(NativeMemoryMethods.AllocFlag.GHND, (UIntPtr)size); + return WinNativeMethods.GlobalAlloc(WinNativeMethods.AllocFlag.GHND, (UIntPtr)size); } else if (TWPlatform.IsLinux) { @@ -45,7 +45,7 @@ namespace NTwain } else if (TWPlatform.IsWindows) { - NativeMemoryMethods.WinGlobalFree(handle); + WinNativeMethods.GlobalFree(handle); } else if (TWPlatform.IsLinux) { @@ -71,7 +71,7 @@ namespace NTwain } else if (TWPlatform.IsWindows) { - return NativeMemoryMethods.WinGlobalLock(handle); + return WinNativeMethods.GlobalLock(handle); } else if (TWPlatform.IsLinux) { @@ -97,7 +97,7 @@ namespace NTwain } else if (TWPlatform.IsWindows) { - NativeMemoryMethods.WinGlobalUnlock(handle); + WinNativeMethods.GlobalUnlock(handle); } else if (TWPlatform.IsLinux) {