Added most hooks except xfer logic and winform/wpf versions.

This commit is contained in:
soukoku
2014-04-05 19:39:41 -04:00
parent 94f2720de4
commit 0064db2c2d
6 changed files with 228 additions and 24 deletions

View File

@@ -715,14 +715,16 @@ namespace NTwain
try
{
// no need to lock for marshal alloc
msgPtr = MemoryManager.Instance.Allocate((uint)Marshal.SizeOf(winmsg));
//msgPtr = MemoryManager.Instance.Allocate((uint)Marshal.SizeOf(winmsg));
msgPtr = Marshal.AllocHGlobal(Marshal.SizeOf(winmsg));
Marshal.StructureToPtr(winmsg, msgPtr, false);
return HandleLoopMsgEvent(ref msgPtr);
}
finally
{
if (msgPtr != IntPtr.Zero)
MemoryManager.Instance.Free(msgPtr);
Marshal.FreeHGlobal(msgPtr);
//MemoryManager.Instance.Free(msgPtr);
}
}
return false;
@@ -754,14 +756,16 @@ namespace NTwain
try
{
// no need to lock for marshal alloc
msgPtr = MemoryManager.Instance.Allocate((uint)Marshal.SizeOf(winmsg));
//msgPtr = MemoryManager.Instance.Allocate((uint)Marshal.SizeOf(winmsg));
msgPtr = Marshal.AllocHGlobal(Marshal.SizeOf(winmsg));
Marshal.StructureToPtr(winmsg, msgPtr, false);
handled = HandleLoopMsgEvent(ref msgPtr);
}
finally
{
if (msgPtr != IntPtr.Zero)
MemoryManager.Instance.Free(msgPtr);
Marshal.FreeHGlobal(msgPtr);
//MemoryManager.Instance.Free(msgPtr);
}
}
return IntPtr.Zero;