Skip to content

Release Notes - 3.2.18

Compare
Choose a tag to compare
@dahall dahall released this 21 Oct 15:17
· 1609 commits to master since this release

Additions

  • Added missing constants and macros related to SID size.
  • Added SafePSID.FromToken and PSID.GetDomainSid methods
  • Added SafeDRT_DATA to DRT
  • Added Null fields to SafeHCRYPTHASH, SafeHCRYPTPROV and SafePCCERT_CONTEXT
  • Added missing Crypt32 constants
  • Added CERT_RDN_ATTR and CRYPT_BIT_BLOB
  • Added predefined values to SafeOID
  • Added methods to assist with memory alignment.
  • Added NativeMemoryStream.ReadToPtr and WriteFromPtr methods to interact with allocated memory.
  • Added methods to convert from IN_ADDR to IN6_ADDR
  • Added SIZEOF_SOCKET_ADDRESS_LIST macro.
  • Extended SOCKADDR explicit cast to SOCKADDR_IN6 so that if represented by a v4 IP address, it will convert it to IPV6 before casting.
  • Added LsaOpenPolicy test for remote machine (#169)
  • Added DISPID constants to ShlDisp and updated dependent interfaces
  • Added overload for ConnectToConnectionPoint for optional last param and fixed attributes.
  • Added missing EnumeratorToEnumVariantMarshaler for .NET Core
  • Initial implementation of FirewallApi.dll. Yes, it is in VB instaead of C#. Ony VB support parameterized properties and the underlying COM objects have these. Plus, it was a fun experiment.
  • Added Vanara.Collections.History class
  • Added standard HWND constants as static fields in HWND
  • Added PID constants for property ID values in a PROPERTYKEY
  • Added explicit ReadConsoleA and WriteConsoleA for UTF-8 operations (#171)
  • Added IsUserCetAvailableInEnvironment and SetProcessDynamicEHContinuationTargets functions to Kernel32
  • Added Get*Profile** function overloads to replace StringBuilder with allocated memory for multistring results (#172)
  • Added Vanara.Configuration.InitializationFile wrapper class for all PrivateProfile functions.
  • Added equality operators to PIDL
  • Added shell::: URI handling to ShellUtil.GetShellItemForPath
  • For ShellItem, added TypeConverter for strings, DataObject property, multiple Open method overloads, and ToUri method.

Fixes

  • BREAKING CHANGE: Modified interfaces IOleWindow and IShellBrowser and all derived interfaces so they use PreserveSigAttribute. All these interfaces can be client implemented and needed that capability.
  • BREAKING CHANGE: Fixed return value of TrackPopupMenuEx so command identifiers could be returned.
  • BREAKING CHANGE: Reconfigured PROPSPEC structure so it works on both X86 and X64 and added constructors to help.
  • BREAKING CHANGES: Fixed all the profile functions for ease of use and proper function.
  • Fixed signature on CryptSignAndEncodeCertificate and CryptSignCertificate and added Null field on SafeHCRYPTKEY
  • Fixed field types in CERT_INFO and CERT_PUBLIC_KEY_INFO
  • Addressed #168 by adding protected virtual GetDialogFlags and GetPreVistaDialogFlags methods that return the flags used by SDK functions.
  • Changed SOCKET_ADDRESS_LIST[] references to IntPtr or void**.
  • Fixed condition in HRESULT.FormatMessage that fails when MUI file couldn't be found.
  • Fixed bug in marshaler for LSA_UNICODE_STRING under X64 that caused alignment error and failure on all calls. Thanks @ryannewington for identifying the problem and where to fix it (#169).
  • Fixed attributes on IShellView.GetItemObject
  • Fixed bug in IContextMenu3.HandleMenuMsg2 declaration
  • Fixed bug in IPropertySetStorage::Create definition …
  • Fixed problems with IPropertyStorage::Read/WriteMultiple definitions and provided overload to simplify. Fixed param on Commit method.