Commit Graph

400 Commits (d1d0ff51ca959a1e0f60c34382260d8d353b5f6a)

Author SHA1 Message Date
dahall b864f19066 Added CorrespondingTypeAttribute.EncodingType property to allow for encoding as part of a conversion. 2021-08-17 11:06:35 -06:00
dahall 55458a86fe Updated project files for 3.3.10 2021-06-03 20:12:24 -06:00
dahall c1f2225efb Updated project files for 3.3.10 release 2021-06-02 20:57:31 -06:00
dahall 370e8a857a Added constants and conversion methods for enums in the C Run-time Library related to files. 2021-06-02 13:08:30 -06: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 89f5605f65 Updated project files 2021-04-26 10:16:34 -06:00
dahall 4694988177 Enhanced ComConnectionPoint 2021-03-28 20:12:48 -06:00
dahall ce5e582d25 Updated ComStream to support IStream implementation 2021-03-28 16:34:49 -06:00
NN 28822bab9e
Use explicit framework reference. Remove transitive TFM requirement. (#212)
Co-authored-by: NN <NN---@users.noreply.github.com>
2021-03-23 07:26:03 -06:00
dahall 3e00f2743c Updated referenced NuGet package versions 2021-03-07 11:15:52 -07:00
dahall 483d76df37 Changed return value of OpenFileById from IntPtr to SafeHFILE 2021-03-02 07:55:51 -07:00
dahall c2c75a461e Updated project files for 3.3.3 release 2021-02-03 14:49:55 -07:00
dahall 967389e246 Removed all calls to `Marshal.ReleaseComObject` where there exists a possibility that the interface could have been referenced by another object and changed to nulling the holding variable. See discussion thread #188. 2021-02-01 16:08:43 -07:00
dahall a6d225b6b8 Updated project files with `ImportWindowsDesktopTargets` feature to prevent NETSDK1136 build error (#200) 2021-01-26 07:49:48 -07:00
dahall 2b4cfee7e2 Added SafeMemStruct.InitializeSizeField method to initialize an in-memory structure's size field 2021-01-25 12:10:13 -07:00
dahall affe76ff74 Added Append overloaded methods to SafeMemStruct to extend memory and write in bytes, memory or objects and return a pointer to the newly written element. Also added GetFieldAddress method to get the location of a field in the structure's memory. 2021-01-20 16:56:09 -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 c5c0833b98 Added binary negate overload to BOOL and BOOLEAN 2021-01-14 11:15:16 -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 e1cfb9c8ce Added ISafeMemoryHandle.GetBytes method that was already implemented all implemented classes 2021-01-11 11:19:15 -07:00
dahall bf89a972a2 Added Null field to SafeCoTaskMemStruct<T> and SafeCoTaskMemStruct<T> 2020-12-30 20:47:14 -07:00
dahall e576bd40e7 Updated project information 2020-12-26 11:07:30 -07:00
dahall 8acca80194 Updated project information 2020-12-22 19:13:59 -07:00
dahall 76fc958c10 Abstracted out read-only methods from SafeAllocatedMemoryHandl into SafeAllocatedMemoryHandleBase 2020-12-22 16:26:27 -07:00
dahall c4ed47de61 Added XML comment 2020-12-22 16:25:39 -07:00
dahall f1b7e7c363 Added more detail to error msg in VanaraMarshalerAttribute 2020-12-17 15:42:50 -07:00
dahall e214393430 Updated project documentation files 2020-12-16 11:41:02 -07:00
dahall 4fa2755085 Added IArrayStruct<T> interface to identify two-field structures where the first field is an UInt32 and the second is a pointer to an array of structures along with supporting marshaler and extension method. 2020-12-14 15:57:23 -07:00
dahall 4d71e6ce9b Updated project information markdown files with new format 2020-11-20 18:52:43 -07:00
dahall 4c18661740 Updated project files for 3.3.0 release 2020-11-20 12:38:46 -07:00
dahall 5dd910e41c Added time_t class with conversion support to/from DateTime 2020-11-19 14:47:13 -07:00
dahall 57219c7cc9 Fixed code with new warnings -- no functionality change 2020-11-14 13:36:32 -07:00
dahall ab4f3c5bd2 Removed explicit exception re-throw to prevent warning 2020-11-14 10:11:47 -07:00
dahall 04d33e7e1a Added support for .NET 5.0 (windows) 2020-11-13 16:55:23 -07:00
dahall 5ce303ed5a Added InteropExtensions.UnsafePtrToArray method 2020-11-11 19:57:53 -07:00
dahall 8344b80f2a Moved DECIMAL to Ole 2020-11-11 19:57:15 -07:00
dahall bed583797a Added RefEnumerator.Count, Reset and indexer 2020-11-10 21:36:56 -07:00
dahall c2640876c3 Added IntPtr.AsRef extension method 2020-11-10 21:35:58 -07:00
dahall 9a52915d58 Added OLE based DECIMAL struct 2020-11-10 09:44:27 -07:00
dahall db7884b6f5 Overloaded IntPtr.LinkedListToEnum extension method to allow for offset func. 2020-11-04 13:04:42 -07:00
dahall 5136887803 Updated Theraot NuGet pkg to 3.2.0 across solution 2020-10-28 19:32:14 -06:00
dahall ffc54378a7 Removed .NET 5.0 support until VS is updated 2020-10-26 18:36:24 -06:00
dahall 69bd276627 Added support for .NET 5.0 (windows) 2020-10-26 10:36:13 -06:00
dahall 30167bc6ca Fixed bug with CorrespondingTypeAttribute.GetAttrForEnum with default action 2020-10-22 14:31:33 -06:00
dahall 8686a6723d Updated project and build files for 3.2.18. Converted all project files to new SDK format. 2020-10-21 08:27:54 -06:00
dahall 3c4e5fe12c More work on generic History collection 2020-09-25 17:17:51 -06:00
dahall 7f2c2a6df3 Added `Vanara.Collections.History` class 2020-09-22 13:57:52 -06:00
dahall 2824e230b6 Oops. Removing an addition that was already added. 2020-09-10 10:30:48 -06:00
dahall a8ef6e11c8 Added NativeMemoryStream.ReadToPtr and WriteFromPtr methods to interact with allocated memory. 2020-09-10 10:13:56 -06:00
dahall 258b01886e Added CallerXXAttribute classes missing from .NET 2-4 so that current compliers can be spoofed to pull that information. 2020-09-10 10:13:17 -06:00
dahall dabe7bcd84 Added methods to assist with memory alignment. 2020-09-10 10:11:58 -06:00
NN 80bfe2ce20
Call to closeMethod in GenericSafeHandle. (#161) 2020-08-27 10:25:14 -06:00
dahall b7d0a30276 Updated project information 2020-08-26 21:03:04 -06:00
dahall 37d8521a9d Updated project files for 3.2.14 2020-08-20 09:28:06 -06:00
dahall c5814672d5 Added protected size and offset values 2020-08-19 20:51:11 -06:00
dahall c88d9feb3c Added LibHelper class with Is64BitProcess and DoesWin32MethodExist methods 2020-08-05 10:36:37 -06:00
dahall cac3df43f2 Project information update 2020-07-27 10:50:28 -06:00
dahall 1564c3d702 Made SafeAllocatedMemoryHandle.GetBytes() public 2020-07-22 18:23:37 -06:00
dahall 091352956e Fixed (#152) bug in base class SafeMemoryHandleExt that caused ToString(int...) to fail if memory size was not specifically set (like in parameter assignment). 2020-07-20 10:44:01 -06:00
dahall e701d99c1b BREAKING CHANGE: Due to performance, changed IMemoryMethods and ISimpleMemoryMethods to contain method signatures instead of properties of method delegates. Then changed all derived memory classes to new interface definition. I believe most of this only affects internal classes so hopefully not a huge effect on your code. 2020-07-20 09:48:32 -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
dahall c081cfa38c Updated project information files 2020-07-14 16:02:36 -06:00
dahall fffb6981ff Update project statistics files 2020-07-14 15:07:18 -06:00
dahall eb3cc13bb3 Updated project information for 3.2.12 2020-07-13 08:58:32 -06:00
dahall b3842a902a Fixed compile warning for unused variable in Convert 2020-07-13 07:56:43 -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 9e5e73b27c
Throw the exception with stack (#148) 2020-07-12 07:55:22 -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 adae5b3268 Fixed bug in UntypedNativeMemoryEnumerator where enumerated type was not set. 2020-07-11 16:25:56 -06:00
dahall fdcd7e93a1 Updated NuGet packages 2020-06-11 11:52:26 -06:00
dahall 8e981f25b6 Added IsMethodCompatibleWithDelegate method 2020-06-09 19:00:42 -06:00
dahall 28eaf62f3b Updated project information 2020-06-02 22:02:36 -06:00
dahall f0976ae924 Added implicit conversion operator to SafeCoTaskMemStruct and SafeHGlobalStruct from nullable struct. 2020-05-27 22:14:24 -06:00
dahall 8b5979d17c Added SafeCoTaskMemStruct and SafeHGlobalStruct derivations of SafeMemoryStruct 2020-05-26 06:41:40 -06:00
dahall fb90105165 Added SafeGuidPtr for instances where GUID is optional. 2020-05-20 12:25:55 -06:00
dahall b309678901 Fixed sizing to include enums 2020-05-20 12:25:19 -06:00
dahall f67c02dc14 Added SafeAllocatedMemoryHandle.AsReadOnlySpan extension method and changed Span methods to use IntPtr extensions. 2020-05-16 08:56:21 -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
dahall 30aabcaaed Added Equals(TStruct) method to SafeMemStruct to prevent boxing when comparing. (Thanks @NN) 2020-05-15 06:46:55 -06:00
dahall 4216d271d9 Added new SafeMemStruct class that wraps a structure into memory with Span support. Added assoc. unit test. 2020-05-14 17:56:28 -06:00
dahall ab42b87b0c Moved SafeAllocatedMemoryHandle.Dump back under DEBUG only build. Added AsSpan and AsBytes methods to SafeAllocatedMemoryHandle for frameworks supporting Span<T>. Added SafeMemoryHandleExt.AsRef<T> method for getting a Span of a structure from the memory. 2020-05-14 17:53:35 -06:00
dahall d1f19d705b Added System.Memory NuGet package reference for supported frameworks 2020-05-14 17:51:09 -06:00
dahall a86fe27c11 Updated project file information for 3.2.4 release 2020-04-13 06:44:23 -06:00
dahall a59b4bfba7 Added ISimpleMemoryMethods (subset of IMemoryMethods with just alloc and free) and MemoryMethodsFromSimple<TSimple> which implements most of IMemoryMethods using just the methods from ISimpleMemoryMethods. 2020-04-07 14:34:28 -06:00
dahall c0ff453a20 Moved much of the individual project file detail to root Directory.Build.* files for consistency. Fixed build errors due to bad or missing project tags. Cleaned up project files. 2020-04-03 14:51:10 -06:00
dahall 9fdb1ea000 Update project versions to 3.2.4 2020-04-01 18:48:29 -06:00
dahall 1c217e668e Updated project files to 3.2.3 2020-03-31 18:51:44 -06:00
dahall 814833852b Major changes which could affect anticipated behavior: All conversions to ordinals now look for max value and will return converted value's max value. No more invalid conversions. 2020-03-31 16:00:36 -06:00
dahall 476960ecbf Updated project versions to 3.2.2. 2020-03-17 19:48:07 -06:00
dahall 24dc30de5a Updated project files with v3.2.1 information. 2020-03-09 10:23:37 -06:00
dahall d8b09ff2ea Added missing French resources to Vanara.Core 2020-02-29 15:01:18 -07:00
dahall 19b3efd408 Updated project information and version to 3.2.0 2020-02-26 17:35:48 -07:00
dahall 8d10011a6f Changed call at disposal to just ReleaseComObject insted of FinalReleaseComObject. 2020-02-26 15:15:31 -07:00
dahall 5d711e9580 Removed Core project unfinished files that were excluded. 2020-02-13 10:27:44 -07:00
dahall c856d06332 Updated project files for v3.1.9 2020-01-17 08:50:25 -07:00
dahall 42677e2063 Project files update for v3.1.8. 2020-01-13 09:26:39 -07:00
dahall 6edf55346d Added support for .NET Core 3.1 2020-01-03 16:46:48 -07: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