Commit Graph

103 Commits (2c10bf7415234d7ae5c4cfb897697b2634260acb)

Author SHA1 Message Date
David Hall 3678847506 Completed nullability work on Vanara.PInvoke.BITS and Vanara.BITS 2023-08-23 14:28:45 -06:00
David Hall 1aba884b1e Applied global usings and finished nullable work on Shell32 2023-08-04 10:24:49 -06:00
David Hall 8c7908f385 Added PFILETIME class for nullable FILETIME parameters and fixed bug in FileTimeExt. 2023-06-27 10:12:22 -06:00
David Hall d75cbee08e Finished nullable work on User32 2023-05-13 20:16:32 -06:00
David Hall 9f4409d2fb Extended logic for object.ConvertTo extension method 2023-05-09 11:42:26 -06:00
David Hall 5e5ef266b2 Added reflection extension method to convert an object to another if possible 2023-05-01 07:46:41 -06:00
David Hall fec486a4d0 Completed nullability work on PInvoke.Security 2023-04-11 15:29:29 -06:00
David Hall b2a78e184b Checkpoint on nullable work after signature work on PInvoke.Security, enabling nullable for entire solution, and auto fixing all optional attributed string and array parameters. 2023-03-31 09:47:53 -06:00
David Hall b3bff3d6a5 Updates to Core, Shared and Kernel32 2023-03-05 15:41:10 -06:00
David Hall 54b1923a26 Added nullability to Vanara.Core 2023-02-18 19:31:48 -07:00
David Hall 3596f9999b Changed ASCII encoder to UTF8 encoder in string helper classes for broader character support. 2023-01-02 14:38:38 -07:00
David Hall 25392d6ab8 Added Type.GetConstants extension method 2023-01-02 10:33:03 -07:00
David Hall d480e3040e Fixed bug in InteropExtensions.Write(IEnumerable<string>...) method that wiped out existing values if an offset was provided. 2023-01-02 10:32:35 -07:00
David Hall 630261a8c4 Fixed bug in IEnumString.Enum extension method 2022-11-16 11:53:02 -07:00
dahall 0320c6b7b6 Enabled nullable support for string related classes 2022-07-20 17:33:26 -06:00
dahall fb9787ec0a Fixed bug in StringHelper.GetByteCount 2022-07-05 09:43:24 -06:00
dahall dd2e46ae75 Fixed minor error handling in EnumFlagIndexer and added Intersect method. 2022-02-08 14:53:03 -07:00
dahall 0f6fb75d3d Added StringHelper methods supporting encoders 2022-01-22 15:27:13 -07:00
dahall 747da30302 Fixed small bug in IntPtr.ToStringEnum 2022-01-16 17:21:11 -07:00
dahall d53279dcc6 Fixed bug in IntPtr.ToStringEnum method that failed when just the ending null terminator was present. 2021-05-02 21:51:20 -06:00
dahall 483d76df37 Changed return value of OpenFileById from IntPtr to SafeHFILE 2021-03-02 07:55:51 -07:00
dahall 2165632d1d Added InteropExtensions.SizeOf(object) method to calculate the size of an object in native memory. It will handle blittalbe structures, primitives, strings and arrays or enumerable lists of those items. 2021-01-20 16:53:12 -07:00
dahall 5cd53d5c7b Extended IntPtr.Write(object value...) method to handle almost all cases of object types (arrays, lists, etc.) 2021-01-11 11:22:39 -07:00
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 8e981f25b6 Added IsMethodCompatibleWithDelegate method 2020-06-09 19:00:42 -06: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 08273f800c Added StringHelper.IsNullOrWhiteSpace to account for missing function prior to .NET 4. (#86) 2019-12-30 10:25:45 -07:00
David Hall f74d478b28 Added support for serialization to WriteNoChecks 2019-12-10 06:55:54 -07:00
David Hall ad3e1e06ce Fixed EnumInheritance 2019-12-10 06:55:20 -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 159f1c8235 Added EnumInheritance and InheritsFrom extension methods. 2019-12-06 17:09:08 -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 835487e466 Added GetOrderedFields Type extension method. 2019-10-29 10:43:18 -06:00
David Hall 05bd6d2098 Changed Write method to take structure as 'in' param. 2019-10-17 09:13:45 -06:00
David Hall 1a7aaf37f7 Fixed SetField so it works with ref structs 2019-10-07 18:42:49 -06:00
David Hall 1450d98b32 Fixed BitPosition logic for exception 2019-09-25 14:12:17 -05:00
David Hall 4322becff6 Added better documentation 2019-09-05 19:59:25 -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