Skip to content

Release Notes - 3.2.9

Compare
Choose a tag to compare
@dahall dahall released this 03 Jun 22:39
· 1904 commits to master since this release

Additions

  • Added support for Span and ReadOnlySpan
    • Added AsSpan and AsBytes methods to SafeAllocatedMemoryHandle for frameworks supporting Span.
    • Added SafeAllocatedMemoryHandle.AsReadOnlySpan extension method and changed Span methods to use IntPtr extensions.
    • Added SafeMemoryHandleExt.AsRef method for getting a Span of a structure from the memory.
    • Added IntPtr.AsSpan and IntPtr.AsReadOnlySpan extension
  • Added new SafeMemStruct class that wraps a structure into memory with Span support. Added assoc. unit test.
    • Added SafeCoTaskMemStruct and SafeHGlobalStruct derivations of SafeMemStruct
  • Add NO_ERROR constant. (#119)
  • Added DirectWrite, DXGI and WIC references to Vanara.PInvoke.Graphics
  • Added remaining, supported interfaces from shobjidl.h
  • Added DnsGetCacheDataTable w/ unit test (#121)
  • Added IPersistSerializedPropStorage and IPropertyStoreCapabilities COM interfaces
  • Added IPropertyBag2 and supporting elements
  • Added SafeMibEntryBase.TableAsSpan property and SafeMibTableHandle AsReadOnlySpan method (for supported platforms)
  • Added MemoryPropertyStore with stream r/w support representing a property store that lives separate from a ShellItem
  • Added PROPVARIANT_IMMUTABLE as a pure structure that can be used in arrays where the class equivalent breaks marshaling.
  • Added PowerBroadcastType enum and POWERBROADCAST_SETTING struct for WM_POWERBROADCAST messages
  • Added ReadOnlyPropertyStore as the base object wrapping IPropertyStore.
  • Added SafeGuidPtr for instances where GUID is optional.
  • To ShellItemChangeWatcher, added attributes to properties, added Path property tied to Item property for use in designer (#124).
  • Added UNICODE_STRING.ToString() overload
  • Added NtQueryInformationProcess (#123) and supporting constants and structures along with unit test.
  • Added classes to enumerate on pointer elements (NativeMemoryEnumerator and UntypedNativeMemoryEnumerator).
  • Added missing HRESULT Facility enum values

Fixes

  • BREAKING CHANGE: Changed default behavior of ShellItem.Properties so that it is read-only. It was failing for all shell items that didn't have their own properties. To get previous behavior, simply set "shellItem.Properties.ReadOnly = false" before setting properties.
  • BREAKING CHANGE: FIxed UNICODE_STRING so it would work across process boundries (thanks @Enigmatrix) and tested. Now #123 is implemented.
  • BREAKING CHANGE: Changed ShellItemPropertyStore.Descriptions to get a dictionary of PropertyDescription items rather than the PropertyDescriptionList that was already available from ShellItem. Added improved execption when IPropertyStore instance cannot be created due to a shell item with no r/w support.
  • To ShellItemChangeWatcher, fixed bug with PIDLs and memory reads (#124).
  • Fixed bugs in DeviceNotifyCallbackRoutine and PowerSettingRegisterNotification declarations (#122)
  • Fixed crashes on ShellItemChangeWatcher with unrecognized events.
  • Fixed incorrect parameters for file mapping functions and added HSECTION and SafeHSECTION handles.
  • Fixed packing of SHQUERYRBINFO (#127)
  • Moved SafeAllocatedMemoryHandle.Dump back under DEBUG only build.
  • Fixed multiple problems with TrackBarEx in designer and runtime.