Release Notes - 3.3.6
Additions
- Added generic CloseHandle and DuplicateHandle methods to better support IKernelHandle and SafeKernelHandle instances.
- Added parameter attributes to CreateFileMapping variants
- Added Function Discovery API assembly
- Added Windows Connect Now (wcnapi) assembly
- Added many methods to SafeSAFEARRAY to make it more like
System.Array
and more interoperable. - Added SAFEARRAY function overloads for simpler parameter passing.
- Added VARTYPE.GetCorrespondingType extension method to convert to a .NET or Vanara type.
Fixes
- Truncated desc for Kernel32 project to avoid 35K char limit
- Fixed bug in LinkedListToIEnum extension method taking offset; now returning 0 for offset ends links.
- Changed return value of OpenFileById from IntPtr to SafeHFILE
- Added equality operators for IHandle and IntPtr to SafeHANDLE.
- Made implicit conversion to HANDLE work from SafeHandle instead of SafeHANDLE
- Changed INVALID_SET_FILE_POINTER a UInt32 to match SetFilePointer output type. Changed unsafe overload of ReadFIle to have all pointer params. Added SetFilePointer overload taking uint values as params.
- Change all IO completion keys to IntPtr instead of UIntPtr -- they need to interchange with HANDLE types almost always.
- Fixed ISearchRoot. IDL has property methods in put/get order instead of get/put and wrapping them in properties does not seem to allow that order.
- Fixed READ_USN_JOURNAL_DATA.FirstUsn type per #215.
- Fixed bug in FreePropVariantArray param definition
- Fixed parameters on a number of SAFEARRAY functions.
- Fixed bug in SAFEARRAYBOUND.ctor.
- Fixed bugs in PROPVARIANT.GetSafeArray and SetSafeArray that caused crashed on all but a few use cases.