David Hall
05bd6d2098
Changed Write method to take structure as 'in' param.
2019-10-17 09:13:45 -06:00
David Hall
1b472f58be
Added SizeT.Zero value.
2019-10-17 09:13:00 -06:00
David Hall
77d4e5c49a
Fixed XML doc errors
2019-10-11 10:34:50 -06:00
David Hall
4f087df55c
Added non-generic CanGet/Set methods.
2019-10-08 20:13:17 -06:00
David Hall
cca953eb5f
Fixed bug #66 that forces all SafeMemString string representations to Empty when a size not known (like as a return value from a COM object).
2019-10-08 13:29:30 -06:00
David Hall
bce17ac78f
Added CanSet method that gets the corresponding enum value given a type
2019-10-07 18:43:55 -06:00
David Hall
f517fba76b
Added ObjectSecurity<T> for pre .NET 4.0 builds
2019-10-07 18:43:16 -06:00
David Hall
1a7aaf37f7
Fixed SetField so it works with ref structs
2019-10-07 18:42:49 -06:00
David Hall
4451258143
ADDED: Support for .NET Core 3.0 in all projects!!
...
Updated project files to version 3.1.0, changed icon to embedded NuGet resource rather than link, consolidated dependency conditions in project files, and updated all NuGet dependencies.
2019-10-03 13:35:16 -06:00
David Hall
740bd61ac5
Added ToString method that includes an offset parameter.
2019-09-27 13:32:19 -06:00
David Hall
1450d98b32
Fixed BitPosition logic for exception
2019-09-25 14:12:17 -05:00
David Hall
1491e32f80
Made ISafeMemoryHandle derive from IDisposable
2019-09-19 12:22:21 -06:00
David Hall
c009606359
Added Set method to SafeMemString to allow for a new string to be set on the condition it is of same or lesser length.
2019-09-16 07:55:18 -06:00
David Hall
c0e3335f47
Fixed docs
2019-09-16 07:53:41 -06:00
David Hall
846783b115
Updated project documentation
2019-09-05 21:03:18 -06:00
David Hall
4322becff6
Added better documentation
2019-09-05 19:59:25 -06:00
David Hall
d56d9486e7
Updated project information to version 3.0.1, added DLL references, and updated markdown files.
2019-09-04 14:11:25 -06:00
David Hall
d89a9df2a5
With so many breaking changes, I decided to roll the version to 3.0.0.
2019-08-27 12:42:33 -06:00
David Hall
3a1d6548b3
Added BOOL and BOOLEAN types
2019-08-27 09:05:48 -06:00
David Hall
4a25d8dc25
Added comparison operators and methods
2019-08-27 08:41:39 -06:00
David Hall
15ffe13254
Added ability to get CharSet and resize by setting Capacity property.
2019-08-23 11:52:14 -06:00
David Hall
75a70f2319
Fixed bug due to invalid externs
2019-08-22 13:56:16 -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
fb62105f42
Added TypeConverter, MinValue/MaxValue fields, comparison operators, and fixed inconsistent handling of Int32 conversions.
2019-08-17 16:07:02 -06:00
David Hall
246b53dd69
Fixed bug in CanSet method
2019-08-17 16:05:22 -06:00
David Hall
ee72119e36
MAJOR BREAKING CHANGE: Moved all extension methods for System.Object to Vanara.Extensions.Reflection namespace to avoid Intellisense overloads with methods that will be rarely used.
2019-08-17 14:42:49 -06:00
David Hall
a23ac2d587
Fixed bug when handling enums
2019-08-15 00:16:05 -07:00
David Hall
602f847bd8
Fixed bug in CanGet method when value supported more than one type.
2019-08-15 00:15:43 -07:00
David Hall
ae0251ded9
Changed structure input parameter to CreateFromStructure to 'in' for memory classes
2019-07-27 13:05:10 -06:00
David Hall
d72cca74cb
Fixed documentation error
2019-07-27 12:55:59 -06:00
David Hall
683280a945
Updated constructors of all SafeAllocatedMemory derivatives to use SizeT instead of int for the size parameter.
2019-07-27 12:48:33 -06:00
David Hall
42630dd833
BREAKING CHANGE: Changed type of SafeAllocatedMemoryHandle.Size property from int to SizeT so that it more easily converts to different types used in memory size functions.
2019-07-25 19:46:45 -06:00
David Hall
893efef823
Moved into InteropServices
2019-07-25 18:53:21 -06:00
David Hall
9b42ed675c
Moved SizeT into Vanara.Core
2019-07-25 18:51:11 -06:00
David Hall
499f10c996
Changed validation check to ensure boundary is a power of 2.
2019-07-25 12:01:46 -06:00
David Hall
6235cd776e
Added SafeAllocatedMemoryHandle derived class for managed aligned memory buffers.
2019-07-25 10:49:18 -06:00
David Hall
0fef11ebb1
Made SafeMemoryHandle conversion to IntPtr implicit instead of explicit. In practice, I have found this to be a constant conversion need.
2019-07-25 10:48:43 -06:00
David Hall
b471f81899
Fixed bug in new code
2019-07-24 15:23:22 -06:00
David Hall
b4dde29d90
Simplified and extended GetCorrespondingTypes methods
2019-07-24 12:55:23 -06:00
David Hall
277bddcf58
Removed redundant code from CheckHasValue and used IsValid
2019-07-23 13:52:32 -06:00
David Hall
5b4853db7e
Added GetStaticFieldValue method
2019-07-19 17:32:05 -06:00
David Hall
ceff4504f0
Changed to BitHelper broke too much so reverted.
2019-07-16 07:43:10 -06:00
David Hall
6eb0aa354d
Added ToInt64, TimeSpan.ToFileTimeStruct, and ToTimeSpan methods for FILETIME and modified ToString method so that it will display a TimeSpan value if negative.
2019-07-13 21:39:13 -06:00
David Hall
379e23ccb9
Added conversion methods To and ToEnum for fast conversions.
2019-07-13 16:27:46 -06:00
David Hall
64b2911d5e
BREAKING CHANGE: Changed CorrepsondingAction to CorrespondingAction due to misspelling.
2019-07-12 09:49:54 -06:00
David Hall
1996fadd69
Made GetBit and GetBits extension methods
2019-07-10 11:27:04 -06:00
David Hall
025e6529de
Added CreateOrDefault method to get best default value for a structure. Added InvokeStaticMethod to allow for calling a static method generically.
2019-07-09 09:23:41 -06:00
David Hall
63c67871aa
Added DebuggerDisplayAttribute for all classes to show pointer and string values.
2019-07-08 11:37:32 -06:00
David Hall
a360548771
Added Equals override and new GuidPtr structure.
2019-07-03 14:44:16 -06:00
David Hall
c374ab2cff
Added ability to read nullable structure, fixed bug in WriteObject
2019-07-03 14:43:47 -06:00
David Hall
4905441377
Added pointer value in front of string with optional params to remove.
2019-07-03 14:42:51 -06:00
David Hall
7ce7b96209
* Derived SafeCoTaskMemString from base class SafeMemString derived from SafeMemHandle<T>.
...
* BREAKING CHANGE: Removed CharCapacity and made Capacity show char allocation. Size (from parent) shows byte capacity. Mimics StringBuilder.
2019-06-25 17:10: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
ea5e8d6c2b
Consolidated code and fixed bug in ToFileTimeStruct that mixed up UTC conversion.
2019-06-15 13:50:10 -06:00
David Hall
422ab0a7dd
Updated project files for 2.8.11 release
2019-06-07 20:42:41 -06:00
David Hall
3415cac1dc
Added implicit operator from IntPtr
2019-06-07 10:59:03 -06:00
David Hall
1c25f88529
Added Write method to set string into memory
2019-06-07 10:58:30 -06:00
David Hall
d191144a51
Change implicit string conversion to get 'null' for IntPtr.Zero
2019-06-04 16:01:43 -06:00
David Hall
f59831bc2c
Updated project files for 2.3.10
2019-06-04 12:18:56 -06:00
David Hall
0b83c0a914
Updated projects for version 2.3.9
2019-05-25 19:47:54 -06:00
David Hall
da3d9d27b9
Updated project information for 2.3.8
2019-05-13 14:55:44 -06:00
David Hall
cdcdffca4b
Added static Instance field and caused 0's to be trimmed off end of Format response.
2019-05-08 19:02:31 -06:00
David Hall
6627c016f2
Added Get/SetFieldValue extension methods
2019-05-08 12:50:26 -06:00
David Hall
f738792e11
Better null handling
2019-05-08 12:50:01 -06:00
David Hall
1f6d4f4384
Added .NET Stream wrapper for COM IStream instances.
2019-05-08 09:25:15 -06:00
David Hall
51c888f4da
Added FromNullable static creator
2019-05-08 09:24:39 -06:00
David Hall
15f05e2924
Added factory to make instancing ComReleaser easier and changed implicit operators to explicit.
2019-05-08 09:24:00 -06:00
David Hall
0ff50e3291
Added CopyTo extension that specifies a start offset.
2019-05-08 09:23:04 -06:00
David Hall
0aacc9ff30
Extension to enumerate strings from an IEnumString instance
2019-05-08 09:22:16 -06:00
David Hall
56f517d6e9
Updated project information for 2.3.8
2019-04-30 08:00:06 -06:00
David Hall
111d8478ad
Improved handling of 'null' in ToString methods
2019-04-28 09:46:59 -06:00
David Hall
0cc1d914d0
Updated project files for 2.3.7 release
2019-04-24 08:48:29 -06:00
David Hall
9c97ccfd14
Fixed bug in GetBytes method
2019-04-24 08:24:18 -06:00
David Hall
5be3e15570
Update project versions to 2.3.6
2019-04-15 13:45:35 -06:00
David Hall
5548ff6c71
Changed generic constraint on Write methods to struct instead of unmanaged
2019-04-10 13:11:06 -06:00
David Hall
9a76ee5597
Converted MarshalingStream references to NativeMemoryStream.
2019-04-10 12:13:28 -06:00
David Hall
34d48333d6
Corrected documentation errors
2019-04-10 11:28:19 -06:00
David Hall
f0ce103165
Updated project file information
2019-04-09 15:20:49 -06:00
David Hall
39264cc1ab
Separated GetPropertyValue into 2 separate methods and removed type changing to prevent unintended consequences.
2019-04-09 09:16:59 -06:00
David Hall
83404805c7
Fixed so InvokeMethod would see private methods
2019-04-08 16:20:19 -06:00
David Hall
9ed6c463c7
WIP on new generic marshaler
2019-04-08 12:08:29 -06:00
David Hall
455f9971d2
Added resources tied to backwards compatible additions
2019-04-08 12:04:00 -06:00
David Hall
8cfcee658d
Added much improved native memory stream implementation over MarshalingStream. Use NativeMemoryStream moving forward. It is saver and more function rich.
2019-04-08 12:03:20 -06:00
David Hall
65e1440ec0
Ensured that space in newly allocated memory is zeroed by default. Fixed handling of Size manipulation to zero out bytes added. (bug: it zeroed out everything)
2019-04-08 11:54:24 -06:00
David Hall
51edbded7c
Added static Instance properties to IMemoryMethods implementations
2019-04-08 11:42:16 -06:00
David Hall
180dc255d8
Added 'Obsolete' attribute to push users to NativeMemoryStream
2019-04-08 11:41:26 -06:00
David Hall
f18f91950d
Fixes for handling null pointer and bool
2019-04-08 11:40:43 -06:00
David Hall
a941609f2c
Minor optimization of property Position use
2019-04-08 11:25:17 -06:00
David Hall
791e8af6a6
Added extension dump function for IntPtr
2019-04-08 11:24:19 -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
0644bcedfb
Minor reformatting
2019-03-26 21:02:27 -07:00
David Hall
3c40989527
Fixed Unicode bug in GetString
2019-03-25 17:40:06 -07:00
David Hall
178701d505
Added string handling to all Convert methods
2019-03-25 17:39:29 -07:00
David Hall
dc83d5d0b4
Moved Dump, GetBytes and IntPtr operator to SafeAllocatedMemory base class. Added byte* and SafeBuffer operators to SafeAllocatedMemory.
2019-03-25 17:38:42 -07:00
David Hall
8281580a28
Added null checking to Contains method
2019-03-25 17:36:39 -07:00
David Hall
40155dc239
Added backwards compatible classes SafeBuffer, UnmanagedMemoryAccessor and UnmanagedMemoryStream for .NET 2.0 and 3.5.
2019-03-25 17:35:51 -07:00
David Hall
f64c2b5e6b
Added FindElementType extension method for Type.
2019-03-25 17:34:43 -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
ef2f74cd83
Added allocation size handling to GetString and AllocString
2019-03-21 09:34:36 -06:00