Skip to content

Releases: dahall/Vanara

Release Notes - 3.1.6

12 Dec 05:15
Compare
Choose a tag to compare

Additions

  • Added Vanara.PInvoke.Printing project to include, for now, winspool.h functions
  • Adding missing kerberos related structures to Vanara.PInvoke.Security
  • Added IsMarshalable method and converted most uses of IsBlittable to it.
  • Added EnumInheritance and InheritsFrom extension methods.
  • Added ISerializable support as last option for pushing and pulling from memory pointers

Fixes

  • Fixed overruns on IntPtr write functions
  • Potentially Breaking Change: Moved DEVMODE and supporting enums out from Gdi32 class to items under the Vanara.PInvoke namespace. Moved DM_SPECVERSION to const value under DEVMODE struct.
  • Fixed MarshalToPtr(Array ... method to not throw casting exception.

Release Notes - 3.1.5

26 Nov 15:23
Compare
Choose a tag to compare

Fixes

  • Fixed overflow problem when marshaling arrays and enumerations
  • Fixed bug with POLICY_AUDIT_EVENTS_INFO when using 64-bit builds.

Release Notes - 3.1.4

25 Nov 14:04
Compare
Choose a tag to compare

Additions

  • Added generic helper functions for LSA query and set functions.
  • Added CorrespondingTypeAttrribute.CanGet method to pull when enum is not found
  • Added SafeAnysizeStructMarshaler which is a IVanaraMarshaler implementation for SafeAnysizeStruct. Converted structures from using IVanaraMarshaler to using SafeAnysizeStructMarshaler attribute
  • Added attributes and strong types to functions and interfaces from ShObjIdl.h
  • Updated ShellTypeArray constructor with strong type param
  • Added IKnownFolderManager GetIKnownFolder and Name extension methods.
  • Completed work on ExplorerBrowser control and added test project.
  • Added error handling for EditSecurityAdvanced in ShowDialog
    *Added extension methods for IShellFolder

Fixes

  • Removed IMarshalDirective and created IVanaraMarshaler with supporting attribute and helper class. Converted structures that supported IMarshalDirective to IVanaraMarshaler
  • 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).
  • Fixed bug in MatchesLookupPattern (#71)
  • Changed IKnownFolderManager.GetFolderIds extension method to return GUIDs, like the interface method and added GetKnownFolderIds to get the equivalent KNOWNFOLDERID values.
  • Fixed FreeKnownFolderDefinitionFields.
  • Fixed bugs in IPAddressBox and MAKEIPADDRESS
  • Fixed bugs in VistaTypeExtender and EnumComboBox
  • Fixed TypeLoad error (#72) for PROPSPECunion.
  • BREAKING CHANGE: Fixed problems with STRRET and its use in IShellFolder::GetDisplayNameOf. #73

Release Notes - 3.1.3

08 Nov 15:38
Compare
Choose a tag to compare

Additions

  • Added ResourceIdOrHandle to represent a resource string, id or handle union
  • Modified PROPSHEETHEADER to use ResourceId and ResourceIdOrHandle for fields that can be different resource types.
  • Added TokenMandatoryPolicy enum for use by TOKEN_MANDATORY_POLICY
  • Added almost all functions from wintrust.dll
  • Added all functions and interfaces from OleAut32.dll except the specific VARIANT conversions

Fixes

  • Fix to prevent exceptions when both extended and basic limits are set on a job. (#70)
  • XML Comment corrections (bad params, bad refs, bad syntax).
  • BREAKING CHANGE: moved interfaces and VARIANT from oaidl.h into Vanara.PInvoke.OleAut32 from Ole32 as they are actually hosted there. This required some changes to supporting code.

Release Notes - 3.1.2

04 Nov 15:20
Compare
Choose a tag to compare

Additions

  • Added SafeAnysizeStruct to help marshal structures with a 1-element field at the end that can be variable size. Adjusted all structs of this type to use this to marshal along with tests and supported classes.
  • BREAKING CHANGE: The above forced the removal of PTOKEN_PRIVILEGES as that functionality is now in a shared marshaling class.
  • Added IMarshalDirective interface as a means for IntPtrConverter.Convert to handle odd marshal behavior
  • Added copy constructor to SafeMemoryHandle and consolidated initialization
  • Added SafeAllocatedMemoryHandle.TakeOwnership method to take control of the allocated memory.
  • Added all codes, enums and many (#67) structures from winioctl.h
  • Added all the typelib interfaces from Shell32.dll
  • All the CSIDL* and SID_S* constants have been added.
  • First pass at adding support for Windows Search to Vanara.Windows.Shell
  • Added IEnumUnknown generics implementation
  • Added a generic IEnumerator implementation

Fixes

  • Fixed unterminated string bug in LSA_UNICODE_STRING.ToString and implicit operator.
  • Fixed parameters in SHCreateShellItemArray
  • Fixed marshal parameter on ICondition::GetSubConditions
  • Updated attributes and some parameters in IShellWindows
  • Fixed condition on IEnumFromCom where TryGet looped forever.
  • Fixed bug and docs for Enumerate method
  • Fixed condition where IEnumIDList is not implemented (#68)

Release Notes - 3.1.1

17 Oct 19:48
Compare
Choose a tag to compare

Changes

  • Separated out Virtual Storage (Vanara.VirtualDisk) and BITS (Vanara.BITS) wrappers into their own packages for easier consumption.

Additions

  • Added .NET friendly wrappers for Job Objects and I/O Completion Ports with tests.
  • Added Process.StartEx extension method to allow for passing CreateProcess flags.
  • Added IUserHandle reference to all user object handles.
  • Added property to GROUP_AFFINITY to make it easier to get/set the list of affinitized processors.
  • Added support for PROCESS_MEMORY_COUNTERS_EX in GetProcessMemoryInfo
  • Added ObjectSecurity for pre .NET 4.0 builds

Fixes

  • 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).

Release Notes - 3.1.0

03 Oct 20:26
Compare
Choose a tag to compare

Additions

  • Support for .NET Core 3.0 in all projects!!
  • All GDI32.dll functions for drawing and device info (missing DDI & printer calls still)
  • Updated all NuGet dependencies.

Fixes

  • EnumExtensions.BitPosition logic
  • SafeAllocatedMemoryHandle.ToString - added offset param from base

Release Notes - 3.0.1

23 Sep 13:25
Compare
Choose a tag to compare
  • Added KtmW32.dll and Pdh.dll supporting assemblies with 100% of functions implemented.
  • Added new Vanara.Library metapackage that pulls in all Vanara packages.
  • Completed adding functions with unit tests from wininet.dll to Vanara.PInvoke.WinInet.
  • Completed adding functions from vertdll.dll to Vanara.PInvoke.Kernel32.
  • Completed adding functions from ncrypt.dll to Vanara.PInvoke.Cryptography.
  • Completed adding functions from ole32.dll and propsys.dll to Vanara.PInvoke.Ole.
  • Enhanced testing support classes and moved all static file references to single class.
  • Extended error structures with FormatMessage to get their descriptive text.
  • Added IDisposable to ISafeMemoryHandle so it can be used instead of abstract SafeAllocatedMemoryHandle.
  • BREAKING: Moved reflection extension methods that extend object to special namespace Vanara.Extensions.Reflection to Intellisense isn't crowded with them.

Release Notes - 3.0.0

28 Aug 00:06
Compare
Choose a tag to compare

Too many changes to document them all, but here are the highlights:

  • Rework of memory reading and writing extension methods and core classes to provide more safety and bounds checking.
  • Addition of wer.dll support with Vanara.PInvoke.Wer assembly.
  • Removal of the Vanara.PInvoke.User32.Gdi assembly after combining all its functions into Vanara.PInvoke.User32.
  • Added support for .NET Standard 2.0, .NET Core 2.0 and 2.1 builds to all but Vanara.Windows.Shell and Vanara.Windows.Forms.
  • Complete, that is every single function, unit testing for kernel32.dll, advapi32.dll, authz.dll, schannel.dll, and secur32.dll P/Invoke methods in their respective assemblies. If you need help on using those functions, check the unit tests as I ended up doing a lot of research to get some of them to work.
  • Moved some extension methods to sub namespaces to avoid Intellisense showing you many functions for every object.
  • Added DebuggerDisplay attributes to many of the support objects for easier debugging.
  • Added many extension methods, struct constructors, safe handle classes, and documentation to make coding with P/Invoke more pleasant and less error prone.

Release - 2.3.11

09 Jun 19:24
Compare
Choose a tag to compare

Additions

  • Added part of WinTrust.dll
  • Added remainder of AdvApi32.dll - now 100% (2.3.10)
  • Added multiple SafeXX functions to support structures that need to release memory
  • Added ACCESS_MASK and converted some parameters and fields from UInt32
  • Added LCID and converted some parameters and fields from UInt32

Fixes

  • Fixed multiple structures (CREDENTIAL, INSTALLSPEC, WAITCHAIN_NODE_INFO, WINTRUST_DATA, KNOWNFOLDER_DEFINITION, and others) so they marshal correctly
  • Fixed FormatMessage implementation for all use cases
  • Fixed SafeNativeArray insert bug
  • Fixed OBJECT_TYPE_LIST constructor bug
  • Fixed SetupOverlappedFunction so it doesn't fail binding the handle if already bound