Skip to content

Release Notes - 3.1.2

Compare
Choose a tag to compare
@dahall dahall released this 04 Nov 15:20
· 2231 commits to master since this release

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)