From 54c7fc1d50e88e6df5b0263b955952f3a77e5cdb Mon Sep 17 00:00:00 2001 From: Eugene Wang <8755753+soukoku@users.noreply.github.com> Date: Fri, 7 Apr 2023 22:20:42 -0400 Subject: [PATCH] Fixed some warnings. --- samples/WinForm32/Form1.cs | 4 +++- src/NTwain/Data/ValueWriter.cs | 4 ++-- src/NTwain/Native/ImageTools.cs | 4 ++-- src/NTwain/TwainAppSession.cs | 6 +++++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/samples/WinForm32/Form1.cs b/samples/WinForm32/Form1.cs index 45230d2..71bc633 100644 --- a/samples/WinForm32/Form1.cs +++ b/samples/WinForm32/Form1.cs @@ -181,10 +181,11 @@ namespace WinFormSample // there may be a better way... private string ReadTypedValue(CAP cap, TWTY type, bool forCurrent) { + STS sts = default; switch (type) { case TWTY.UINT8: - var sts = forCurrent ? + sts = forCurrent ? twain.GetCapCurrent(cap, out byte ubval) : twain.GetCapDefault(cap, out ubval); return ubval.ToString(); @@ -251,6 +252,7 @@ namespace WinFormSample case TWTY.HANDLE: break; } + Debug.WriteLine($"{nameof(ReadTypedValue)}({cap}, {type}, {forCurrent}) => {sts}"); return ""; } diff --git a/src/NTwain/Data/ValueWriter.cs b/src/NTwain/Data/ValueWriter.cs index d44d4a9..1a345b7 100644 --- a/src/NTwain/Data/ValueWriter.cs +++ b/src/NTwain/Data/ValueWriter.cs @@ -292,7 +292,7 @@ namespace NTwain.Data //} // Set the Item... - WriteRangeValues(memMgr, lockedPtr, itemType, value); + WriteRangeValues(lockedPtr, itemType, value); } finally { @@ -301,7 +301,7 @@ namespace NTwain.Data return twCap; } - static void WriteRangeValues(IMemoryManager memMgr, IntPtr lockedPtr, TWTY itemType, Range value) where TValue : struct + static void WriteRangeValues(IntPtr lockedPtr, TWTY itemType, Range value) where TValue : struct { // TODO: reduce this later diff --git a/src/NTwain/Native/ImageTools.cs b/src/NTwain/Native/ImageTools.cs index 67cc423..8554d94 100644 --- a/src/NTwain/Native/ImageTools.cs +++ b/src/NTwain/Native/ImageTools.cs @@ -26,7 +26,7 @@ namespace NTwain.Native public static unsafe byte[]? GetBitmapData(System.Buffers.ArrayPool xferMemPool, IntPtr data) { - var infoHeader = (BITMAPINFOHEADER)Marshal.PtrToStructure(data, typeof(BITMAPINFOHEADER)); + var infoHeader = Marshal.PtrToStructure(data); if (infoHeader.Validate()) { var fileHeaderSize = Marshal.SizeOf(typeof(BITMAPFILEHEADER)); @@ -75,7 +75,7 @@ namespace NTwain.Native for (int i = 0; i < 999; i++) { tagPtr += (tagSize * i); - var tag = (TIFFTAG)Marshal.PtrToStructure((IntPtr)tagPtr, typeof(TIFFTAG)); + var tag = Marshal.PtrToStructure((IntPtr)tagPtr); switch (tag.u16Tag) { diff --git a/src/NTwain/TwainAppSession.cs b/src/NTwain/TwainAppSession.cs index 364290c..bcf6e9e 100644 --- a/src/NTwain/TwainAppSession.cs +++ b/src/NTwain/TwainAppSession.cs @@ -98,7 +98,9 @@ namespace NTwain internal IntPtr _hwnd; internal TW_USERINTERFACE _userInterface; // kept around for disable to use +#if WINDOWS || NETFRAMEWORK TW_EVENT _procEvent; // kept here so the alloc/free only happens once +#endif // test threads a bit readonly BlockingCollection _bgPendingMsgs = new(); private readonly IThreadMarshaller _uiThreadMarshaller; @@ -165,7 +167,9 @@ namespace NTwain // this will end the bg thread _bgPendingMsgs.CompleteAdding(); } +#if WINDOWS || NETFRAMEWORK if (_procEvent.pEvent != IntPtr.Zero) Marshal.FreeHGlobal(_procEvent.pEvent); +#endif disposedValue = true; } } @@ -249,7 +253,7 @@ namespace NTwain protected STS WrapInSTS(TWRC rc, bool dsmOnly = false) { if (rc != TWRC.FAILURE) return new STS { RC = rc }; - var sts = new STS { RC = rc, STATUS = GetLastStatus() }; + var sts = new STS { RC = rc, STATUS = GetLastStatus(dsmOnly) }; if (sts.STATUS.ConditionCode == TWCC.BADDEST) { // TODO: the current ds is bad, should assume we're back in S3?