dahall
5ce303ed5a
Added InteropExtensions.UnsafePtrToArray method
2020-11-11 19:57:53 -07:00
dahall
c2640876c3
Added IntPtr.AsRef extension method
2020-11-10 21:35:58 -07:00
dahall
db7884b6f5
Overloaded IntPtr.LinkedListToEnum extension method to allow for offset func.
2020-11-04 13:04:42 -07:00
dahall
dabe7bcd84
Added methods to assist with memory alignment.
2020-09-10 10:11:58 -06:00
dahall
704987c2a1
Extended all MarshalToPtr methods with lock and unlock pointer functions and optional parameters.
2020-07-19 16:45:54 -06:00
David Hall
26f61b9189
Merge pull request #142 from NN---/getiptable_raw
...
Add zero copy GetIpNetTable2.
2020-07-12 08:30:02 -06:00
NN
ca36a6bc95
Fix passing non-readonly-struct by read-only reference ( #147 )
2020-07-12 07:54:40 -06:00
NN
bc139f52a7
Add zero copy GetIpNetTable2.
2020-07-12 10:09:39 +03:00
dahall
589d47c3b6
Added classes to enumerate on pointer elements (NativeMemoryEnumerator and UntypedNativeMemoryEnumerator). Changed IntPtr.ToIEnum methods to use new classes and added IntPtrGetEnumerator extension methods.
2020-05-15 16:37:15 -06:00
dahall
5c726943b3
Added IntPtr.AsSpan and IntPtr.AsReadOnlySpan extension methods
2020-05-15 11:40:11 -06:00
David Hall
f74d478b28
Added support for serialization to WriteNoChecks
2019-12-10 06:55:54 -07:00
David Hall
89d17b5241
Added ISerializable support as last option for pushing and pulling from memory pointers
2019-12-09 07:22:20 -07:00
David Hall
2cb4245f37
Added IsMarshalable method and converted most uses of IsBlittable to it. Fixed MarshalToPtr(Array ... method to not throw casting exception.
2019-12-06 17:07:21 -07:00
David Hall
80b7256543
Changed unspecified size to uint.Max instead of UIntPtr.Max to prevent overflow
2019-11-25 19:32:51 -07:00
David Hall
a94e60820b
Reworked memory manipulation functions in InteropExtensions and IntPtrConverter to use new marshaling directives and to drive consistency of use across libs (i.e. call same method to do same work).
2019-11-19 12:52:44 -07:00
David Hall
8f289e2760
Changed to support IVanaraMarshaler requiring addition of size parameter to some methods.
2019-11-13 23:02:51 -05:00
David Hall
05bd6d2098
Changed Write method to take structure as 'in' param.
2019-10-17 09:13:45 -06:00
David Hall
9d4758ed5d
Added Write methods to SafeMemoryHandleExt. Added size checking from InteropExtension methods. Added offset param to ToStructure.
2019-08-21 10:18:07 -06:00
David Hall
c3521b7742
MAJOR BREAKING CHANGEs:
...
1) Obsoleted Vanara.Extensions.InteropExtensions.StructureToPtr for a name change to MarshalToPtr for consistency.
2) Added parameter to all methods reading memory that allows developer to indicate size of allocated memory they read from.
3) Enabled the ability to read/write enum values from memory in all extension methods.
4) Added Write methods for writing to memory
2019-08-17 21:13:57 -06:00
David Hall
badc08c7e5
Extended StructureToPtr so that it works with `enum` values.
2019-06-17 13:44:46 -06:00
David Hall
0ff50e3291
Added CopyTo extension that specifies a start offset.
2019-05-08 09:23:04 -06:00
David Hall
9a76ee5597
Converted MarshalingStream references to NativeMemoryStream.
2019-04-10 12:13:28 -06:00
David Hall
a941609f2c
Minor optimization of property Position use
2019-04-08 11:25:17 -06:00
David Hall
427de28a0e
Added ToStructure method with boundary checking. Cleaned and optimized code.
2019-03-26 21:03:39 -07:00
David Hall
43a453fef9
Fixed bug in ToStructure where mishandled IntPtr. Added length checking to ToStringEnum. Changed length param on FillMemory to 'long' to work on 64-bit systems.
2019-03-25 17:34:03 -07:00
David Hall
d7266f1919
Added ToArray and ToIEnum methods that work on Type value rather than generic type param.
2019-03-15 16:15:48 -06:00
David Hall
6a46bd4c96
Added null handler to MarshalToPtr
2019-03-13 09:56:21 -06:00
David Hall
0ede8d5738
Added MarshalObjectsToPtr method to handle object arrays. Cleaned up MarshalToPtr for string enums.
2019-03-07 09:22:04 -07:00
David Hall
3bed0225b4
Added FillMemory method for pointers
2019-01-25 11:08:18 -05:00
David Hall
9d83f279e1
Added QueryInterface method for objects
2019-01-08 08:17:45 -07:00
David Hall
c5467dfb7e
Another 2.0 major commit. All tests working.
2018-11-19 21:18:50 -07:00
David Hall
627c6d2314
2.0 Checkin - Buildable
2018-10-26 12:24:07 -06:00
David Hall
7e372c55db
Added LinkedListToIEnum method for pointer interop
2018-01-06 16:34:28 -07:00
David Hall
a30f82d282
Lots of assembly refactoring: split PInvoke.User32 so GDI functions are in separate assembly, moved system classes from Vanara.UI to Vanara.System, split off shell classes to Vanara.Windows.Shell
2017-12-12 18:41:40 -07:00
David Hall
b44f91b5a1
Initial code push: Core, PInvoke.Shared and PInvoke.TaskSchd
2017-11-27 10:18:01 -07:00