Vanara

A set of .NET libraries for Windows implementing PInvoke calls to many native Windows APIs with supporting wrappers.

MIT License

Stars
1.7K
Committers
26

Bot releases are visible (Hide)

Vanara - Release Notes - 4.0.1 Latest Release

Published by dahall 6 months ago

What's Changed

  • Added Vanara.PInvoke.ODBC32 package and supporting unit test
  • Added Vanara.PInvoke.OleDB with part of OleDB SDK. Missing about half of the interfaces still.
  • Fixed Shell32.STRRET under 64-bit (#453) and added Free function to release memory rather than having string methods unalloc.
  • Fixed false-positive with StrPtrAuto.IsNullOrEmpty (#455)
  • Added SafeAllocatedMemoryHandleBase.HandleChanged event and overrode SetHandle
  • Fixed marshalling for pszVerb in Shell32.IFolderView2.InvokeVerbOnSelection() #456
  • As alternative to #454 PR changing PROCESS_BASIC_INFORMATION with breaking field names and types, added properties to align with docs for GetProcessInformation
  • Added null handlers to SafeHANDLE equality methods. (#459)
  • Added backwards compatible StackTraceHiddenAttribute for pre-NET 6.0
  • Added ErrorHelper class to help retrieve messages from error codes that accepts alternate methods to FormatMessage. Moved FormatMessage method here from HRESULT. Converted error types to use new and hid stack mentions of ThrowIfError and related methods.
  • Added IConvertible to error base type in FieldValueHash
  • Fixed failure in CorrespondingTypeAttribute.GetCorrespondingTypes introduced in 4.0.0 that excluded null values. (#460) Updated failures due to correction of CorrespondingTypeAttribute.
  • Fixed windows platform warnings in FirewallApi missed since it's VB

Full Changelog: https://github.com/dahall/Vanara/compare/nullableenabled@%7Bv4.0.0%7D...nullableenabled

Vanara - Release Notes - 4.0.0

Published by dahall 7 months ago

  • Nullable notation added to every project
  • Lots of breaking changes from that nullability as I adjusted code based on new constraints
    • I'm still deciding on if I will try to backport fixes applied to the 4.0 branch to master or fold them together. Your feedback is appreciated.
  • Use of global using statements
  • Addition of .NET 7.0 and 8.0
  • Finally fixing and releasing VssApi
  • Fixed #392, #439, #441, #442, #443, #445, #448, #450

Full Changelog: https://github.com/dahall/Vanara/compare/v3.4.17...v4.0.0

Vanara - Release Notes - 4.0.0 Beta

Published by dahall 11 months ago

  • Nullable notation added to every project
  • Lots of breaking changes from that nullability as I adjusted code based on new constraints
  • Use of global using statements
  • Addition of .NET 7.0
  • Updates and additions to unit tests

This will stay in beta status for about two months while I collect feedback and fix problems. I hope you'll try it and give me a hand finding the errors and inconsistencies.

Vanara - Release Notes - 3.4.17

Published by dahall about 1 year ago

Updates

  • Updated CryptUI.CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO and CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO and CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT with better ctors and enums.
  • Updated Kernel32 with functions and structures to handle resource message tables.
  • Added ShellItemImages.GetImage (non-async) method and changed ShellItem.GetImage to use it.
  • Added NtDll.RtlGetVersion per #421

Fixes

  • Fixed incorrect AllocZeros value in HGlobalMemoryMethods
  • IpHlpApi struct fixes
  • Fixed bug in RECT type converter when serialized
  • Fixed bug in HRESULT type converter and added ability to add values and libs to error message cache
  • Fixed bug in SOCKET_ADDRESS.GetSOCKADDR that prevented 16 bit entries from translating
  • Fixed DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enum #423
  • Changed visibility of MESSAGE_RESOURCE_ENTRY.GetText to internal
  • Fixed ResourceFile with updates to Kernel32
  • Fixes #427 - Bad impl of Kernel32.FILE_ID_128.Identifier
  • Fixed #428 (bad return value for User32.MB_GetString)
  • Fixed bug in SafeNativeArray.GetPointers
Vanara - Release Notes - 3.4.16

Published by dahall about 1 year ago

Additions

  • Updated NuGet packages
  • Update WinSCard.cs with nullable support and UIntPtr

Fixes

  • Fixed SCardListReaders overloads (#402)
  • Fixed STORAGE_PROPERTY_ID enum values (#403)
  • Fixed SCardTransmit parameters (#404)
  • Applied suggested fix for IP_ADDRESS_PREFIX (#405)
  • Added missing enums to DOT11_PHY_TYPE #408
  • Fix IEnumSTATPROPSETSTG attributes (causing InvalidCastException) (#411)
  • Fix PROPVARIANT at 64-bit, Clearing string Vectors + UT (#413 and #416)
  • Added null checks to ShellItemImages.GetImageAsync to prevent #414
  • Added constants to DPI_AWARENESS_CONTEXT per #417
  • Addressed multi-thread issues with StaticFieldValueHash (#419)
Vanara - Release Notes - 3.4.15

Published by dahall over 1 year ago

  • Fixed bug with SetWindowSubclass, SUBCLASSPROC, and RemoveWindowSubclass (#393)
  • Fixed IDataObject.SetData extension to get CF_HDROP right with Unicode and changed DROPFILES.DangerousGetFileList to static function taking a DROPFILES pointer.
  • Fixed formatting
  • Fixed definition of WINDOWPLACEMENT (#394)
  • Fixed generic GetThemeColor (#395)
  • Fixed incorrect values in User32.WINEVENT (#398)
  • Added coclass for IApplicationDocumentLists #399
  • Added overload for Shell32.SHAddToRecentDocs and supporting structures #401
  • Removed ICOMEnum from IEnumObjects (it doesn't follow Next method pattern) and added an extension method for IEnumObjects.Enumerate that will enumerate the interfaces exposed by IEnumObject. Fixes #400
Vanara - Release Notes - 3.4.14

Published by dahall over 1 year ago

Additions

  • Added SP_DRVINFO_DETAIL_DATA_MGD which will take memory tied to SP_DRVINFO_DETAIL_DATA and extract the correct values. (#374)
  • Added SetupDiEnumDriverInfo overload to enumerate values (#374)
  • Added CorrespondingTypeAttribute values to GetClassLongFlag enum

Fixes

  • Changed parameters of SetupDiGetDriverInfoDetail to use an IntPtr and a new overload to extract the results to SP_DRVINFO_DETAIL_DATA_MGD.
  • Fixed stack overflow in POINT.X and POINT.Y (#375)
  • Fixed LOGPALETTE structure and associated functions
  • Added unit test and corrected return values in Lz32
  • Changed default flag for ShellItemPropertyStore to GPS_BESTEFFORT to prevent exceptions. #378
  • Fixed the DsFreeSpnArray function signature, as it was corrupting the native heap. (#382)
  • Added (#383) support for MessageBoxTimeout, an undocumented function.
  • Add two undocumented API in ntdll (#386)
  • Fixed IN6_ADDR.ToString and words property capturing and giving incorrect values (#388)
Vanara - Release Notes - 3.4.13

Published by dahall over 1 year ago

Additions

  • Added AvRt.dll support in Vanara.PInvoke.Avrt
  • Added tdh.dll methods to Vanara.PInvoke.Security.
  • Finished work on Vanara.PInvoke.CoreAudio
  • #371 Add Create method for types MONITORINFO and MONITORINFOEX
  • Added and modified classes supporting window creation and message pumps
  • Added conversion operator from FileSystemInfo to FILEDESCRIPTOR
  • Added CorrespondingTypeAttribute to WindowLongFlags values
  • Added equality ops to PROC_THREAD_ATTRIBUTE and cleaned file
  • Added GetClassLongFlag enum and updated GetClassLong and SetClassLong parameter
  • Added CallWindowProc and FindWindowEx overloads
  • Added IComparable and IEquatable to SafeAllocatedMemoryHandle
  • Added MessagePump and ExaminedMessagePump as means to process Get/PeekMessage->DispatchMessage loops.
  • Added missing constants to UxTheme
  • Added missing DWM constants
  • Added missing WindowLongFlags values
  • Added Ole32.IDataObjectV for a more complete reference to IDataObject
  • Added Point.x and y properties to match some C++ implementations
  • Added SafeHANDLE.ThrowIfDisposed method to help implement safer calls.
  • Added SafeNativeArray.GetRefAt method to get a reference to an element in the array
  • Added SafeSyncHandle.Wait method wrapping WaitForSingleObject
  • Added some UxTheme method overloads taking enums

Fixes

  • BREAKING CHANGE: Removed inaccurate tdh.h values from AdvApi32 class and put them in Tdh
  • More BREAKING CHANGES to NativeClipboard. (Sorry!) All atomic methods to set data have been removed due to inconsistencies and design challenges. New model forces all setting and getting to be done through IDataObject and it's methods and extensions. See documentation for class for example. Addresses #355.
  • Fixed and extended implicit operators for RECT and PRECT
  • Fixed bug in NativeClipboard.Clear
  • Fixed bug in NativeClipboard.SetText where only one value was getting set. (#355)
  • Fixed bug in User32.SetWindowLong
  • Fixed bug with CreateClassInfoEx
  • Fixed bug with WindowLongFlags additions
  • Fixed INVALID_FILE_ATTRIBUTES value and type (#369)
  • Fixed packing on WINHTTP_CONNECTION_INFO (#368)
  • Hopeful fix for #373
  • Lots of work on WindowBase, VisibleWindow, WindowClass and MessagePump
  • Moved IWindowCore to MessagePump.cs
  • Reverted User32.BasicMessageWindow to previous, simpler implementation
  • Significant expansion to User32.WindowClass wrapper around WNDCLASSEX
  • Updates to synchapi method params and extension of SafeEventHandle
Vanara - Release Notes - 3.4.12

Published by dahall almost 2 years ago

Additions

  • Added Vanara.PInvoke.DavClnt which takes methods out of NetApi32. Set those methods to Obsolete.
  • Added Vanara.PInvoke.PhotoAcquire assembly with interfaces for Photo Acquisition.
  • Updated NuGet package dependencies
  • Add implicit op from SafeHANDLE to HANDLE
  • Add MouseActivateCode as WM_MOUSEACTIVE response (#358)
  • Added tag to Directory.Build.props
  • Added ability for IDataObject.GetData to retrieve an HGLOBAL as an IStream
  • Added ability to pick character set in IDataObject.GetData method
  • Added CHANGEFILTERSTRUCT.Default field
  • Added Clipboard functions that wrap Unicode to Ansi and back conversions
  • Added DS_xx dialog box styles to User32 as DialogBoxStyles enum (#359)
  • Added enum overloads for PeekMessage and PostMessage
  • Added implicit op for SystemColorIndex to HBRUSH
  • Added locking to SafeMemoryHandle.ToType extension method
  • Added Missing Disk Management Control Codes #345
  • Added mssing Pack = 1 to TASKDIALOG_BUTTON (#351)
  • Added NativeClipboard.GetFileNameMap, GetShellItemArray, IsFormatAvailable(string) and SetShellItems methods (#353)
  • Added Null field to all GDI handles
  • Added OBM_ constants
  • Added SafeMoveableHGlobal.CallLocked method
  • Added SetWindowAttributes in DwmApi from Windows 11. (#363)
  • Added Shell32.SHCreateDataObject overload to simplify use and prevent unintentional bugs using PIDL class.
  • Added support for memory classes and interfaces to indicate if they zero memory on initialization to prevent re-zeroing.
  • Added Type.GetConstants extension method
  • Added WideCharToMultiByte and MultiByteToWideChar overloads taking byte arrays.

Fixes

  • BREAKING CHANGE: Changed parameters of Ole32.IStreamV.Seek and CopyTo methods to use out parameters. Cost of throwing away value was determined to be zero.
  • BREAKING CHANGE: Made NativeClipboard a static class and removed dependencies on User32.
  • Changed ASCII encoder to UTF8 encoder in string helper classes for broader character support.
  • Changed NativeClipboard.SetShellItems functionality and added overlaod.
  • Changed return value of User32.GetMessage to int so value of -1 can be returned. Fixes #360.
  • Changed VSS_MGMT_OBJECT_PROP to struct for marshaling
  • Fixed #357 (set moniker on IFileSystemImage2.BootImageOptionsArray)
  • Fixed alignment of SET_VIRTUAL_DISK_INFO (#356)
  • Fixed bug in IEnumString.Enum extension method
  • Fixed bug in InteropExtensions.Write(IEnumerable...) method that wiped out existing values if an offset was provided.
  • Fixed bug in ShellLink.ShowState that was carried over from old code. (#349)
  • Fixed definition problem with IDataTransferManagerInterop.GetForWindow (#354)
  • Fixed exceptions being thrown by BOOL and BOOLEAN when interacting with int and ! operator
  • Fixed layout of TOUCHPREDICTIONPARAMETERS (#347)
  • Fixed NativeClipboard GetText and SetText methods. Also changed ctor so that if no HWND is passed, it uses the Desktop's window handle. Fixes #355.
  • Fixed optional param problem with DateTime APIs in Kernel32.
  • Fixed unbounded recursion in SafeLPSTR, SafeLPTSTR and SafeLPWSTR implicit cast operators from string by inverting the types.
  • Fixes access violation when calling TaskDialogIndirect
  • Got the VssApi projects to build
  • Removed dependencies on all x64 preprocessor indications and just made all structures work for both 32 and 64-bit (#346)
  • Removed platforms from solution leaving only AnyCPU
  • Tons of fixes and updates to IDataObject and Clipboard methods and wrapper classes.
  • Updated NUnit package version for tests
  • Updated SafeMoveableHGlobalHandle class and added tests.
Vanara - Release Notes - 3.4.11

Published by dahall almost 2 years ago

Additions

  • Added Vanara.PInvoke.WebSocket assembly
  • Added Vanara.PInvoke.WscApi project for Windows Security Center functions.
  • Added IPPROTO_IPV6 socket options
  • Added Microsoft-specific winsock constructs to Ws2_32
  • Added QOS2 overloads
  • Added ShellFileOperations ctor taking an IFileOperation rather than creating one every time. (#336)
  • Added overloads with more precise params to WinSock2 functions
  • Added supporting macros as properties to IP_PATTERN

Fixes

  • Added definition for CoGetObject that supports BIND_OPTS_V derivatives (#338)
  • Add [Flags] attribute to a couple of enums which require it (#342)
  • Add high resolution flag for waitable timer initialisation (#343)
  • Changed BIND_OPTS2.locale field to LCID type
  • Fix POINTER_INPUT_TYPE missing initial value (#340)
  • Fixed NullReferenceException caused by unsuccessful CredRead call (#344)
  • Fixed problems with SendMessage overloads not passing parameters (#333)
  • Overloadded SetWaitableTimer and SetWaitableTimerEx to accept a long value for the lpDueTime param.
Vanara - Release Notes - 3.4.10

Published by dahall almost 2 years ago

Additions

  • Added Vanara.PInvoke.QoS project with QWave and QoS traffic support.
  • Added DebuggerDisplayAttribute to IndirectString
  • Added SHLoadIndirectString stub to IndirectString to avoid referencing full library.
  • Added TestHelper.IsElevated property
  • Added WindowsFirewall and supporting classes to Vanara.SystemServices.
  • Added explicit conversion from WSRESULT to Win32Error
  • Added indexer to SafeElementArray
  • Added new functions introducted in Win11
  • Added nullable support to IndirectResource and IndirectString
  • Added overload to WinSpool.DeviceCapabilities to support NULL pDevNode param (#331)
  • Adding NMTBCUSTOMDRAW struct (#328)
  • Added DistributedRoutingTable and supporting classes
  • Cleaned ResourceId and added equality operators
  • Exposed static fields in SafeElementArray

Fixes

  • Changed SafeDRT_DATA to inherit from SafeElementArray for direct access to bytes.
  • Corrected build warnings related to RequiresUnreferencedCodeAttribute
  • Fixed SetPointSize LOGFONT passed by value with a ref (#332)
  • Fixed TBBUTTONINFO.fsStyle set failure #326
  • Fixed packing issue with TBBUTTONINFO (#327)
  • Fixed problem with IndirectResource and nullable string values
  • Moved classes IndirectResource and IndirectString to Vanara.PInvoke.Shared library since they capture a pattern across Win32.
Vanara - Release Notes - 3.4.9

Published by dahall about 2 years ago

Additions

  • Added BackgroundCopyJobCollection indexer for a job's display name.
  • Added more WinSock2 struct conversion methods
  • Added SafeHDRT smart handle.
  • Added AF_UNSPEC handler for implicit conversion from SOCKADDR to SOCKADDR_IN (#321)

Fixes

  • Fixed Kernel32.MapViewOfFileEx parameter #316
  • Fixed bug in SafeAnysizeStructBase that couldn't process string arrays. Root cause of #315.
  • Refactored BackgroundCopyJob events so that use the system resources more efficiently and don't allocate resources until subscribed. This doesn't fix #314, but does provide accurate exceptions to the dev when subscribing.
  • Fixed #318 and added simple test for HttpApi
  • Fixed problem with VirtualDisk async methods not showing progress correctly (#317). Due to threading issue.
  • Removed implicit operators with SafeLPXSTR classes to prevent compiler confusion
  • BREAKING CHANGE: Fixed marshaling problem with HTTP_DATA_CHUNK (#320)
  • Forcefully dispose WindowsIdentity as suggested by @OwnageIsMagic
  • Updated BackgroundCopyJob to force all errors related to event subscription due to permissions into the event add process and (BREAKING CHANGE) removed calls to Complete and Cancel within Dispose method to prevent unintended consquences.
  • Work on Command Line Notification per #314
  • Fixed problem with SendMessage overload that used a ref struct as final param (#322)
  • Fixed problem with definition of SYMBOL_INFO not working when passed by ref (#324)
Vanara - Release Notes - 3.4.8

Published by dahall about 2 years ago

Additions

  • Added WTSApi32 missing constants and correlated types
  • Added Computer.Sessions property and supporting classes to discover active sessions.
  • Added missing enums to Dhcp project
  • Added new Vanara.Net assembly with support for DNS services and DHCP clients.

Fixes

  • Fixed BackgroundCopyJob.CustomHeaders (#310)
  • Fixed BackgroundCopyManager.Version code based on suggestion from @OwnageIsMagic (#311)
  • Fixed #312 by implementing BackgroundCopyFileCollection.CopyTo and Contains
  • Added helper properties and fixed parameters in DnsApi
Vanara - Release Notes - 3.4.7

Published by dahall about 2 years ago

Additions

  • Added Vanara.PInvoke.DOSvc assembly and tests for Delivery Optimization
  • Added Vanara.PInvoke.FwpUClnt assembly and tests
  • Added Vanara.PInvoke.MsRdc for the Remote Differential Compression (RDC) API
  • Added Vanara.PInvoke.NdfApi assembly
  • Added nullable type handling to IntPtr.Convert
  • Added SafeMemoryHandleEx.AddSubReference
  • Simplified NativeMemoryStream.Write()
  • Added implicit operators to new types for GuidPtr, and StrPtrXX variants
  • Added SafeNativeArrayBase.GetPointers method

Fixes

  • Fixed bug in IN_ADDR(byte[]) ctor.
  • Updated optional params for CoSetProxyBlanket
Vanara - Release Notes - 3.4.6

Published by dahall about 2 years ago

Additions

  • Added Vanara.PInvoke.HttpApi assembly
  • Added Vanara.PInvoke.ClfsW32 project for Common Log File access.
  • Added Vanara.PInvoke.WinSCard assembly
  • Added ReadFile and WriteFile overloads for NativeOverlap
  • In WinINet, added InternetReadFile overload and InternetCookieHistory and INTERNET_ASYNC_RESULT structures
  • Enabled nullable support for string related classes
  • Enhanced SafeMemString with nullable support and the addition of methods, properties and operators to mimic StringBuilder
  • Added ! operator support to SafeAllocatedMemoryHandle and SafeMemoryHandle.Clone() method
  • Added string classes via template
  • Added ! operator to SafeHANDLE and cleaned Handles.cs
  • Refactored base handle structures into templates
  • Added support for BITS peer caching
  • Added BackgroundCopyJob.AutoCompleteOnSuccess that will call Complete() for the user after the Completed event.
  • Added helper ctos to DNS_ADDR_ARRAY, DNS_QUERY_REQUEST, DNS_QUERY_RESULT and IP4_ARRAY. Added DNS_QUERY_REQUEST3 and DnsQueryEx overloads for it.
  • Added properties for SOCKADDR_IN6 and IN6_ADDR to determine address types.
  • Added missing file attributes to FileFlagsAndAttributes and added FileShare enum with FILE_SHARE_* values.

Fixes

  • Removed Pack=4 from TRUSTEE struct per #307. It breaks on 64-bit builds. Default is sufficient for both 32 and 64-bit.
  • Changed OBJECTS_AND_SID.pSid to PSID type and cleaned AccCtrl.cs
  • Fixed entrypoint #308
Vanara - Release Notes - 3.4.5

Published by dahall over 2 years ago

Additions

  • Added CERT_INFO_CHOICE and changed CERT_STRONG_SIGN_PARA to use it
  • Added missing items from mswsock.h, wintrust.h, ws2ipdef.h and softpub.h
  • Added SignOID with missing szOID values from wincrypt.h
  • Added an enumeration for CommDlgExtendedError return values (#303)
  • Added CMSG_SIGNER_INFO
  • Added conversion operators to SOCKADDR_STORAGE with SOCKADDR_INET
  • Added CryptCATAdminAddCatalog overload to simplify use.
  • Added missing constants to WSAEVENT
  • Added SafeMemoryPool class to auto dispose temporary pointers.
  • Added setsockopt generic overload
  • Added simplified overloads for WSAStringToAddress and WSAAddressToString
  • Added SOCKADDR_IN6 to SOCKADDR conversion
  • Added SOCKADDR_INET operator to SOCKADDR
  • Added WSAIoctl<TIn, TOut> generic overload
  • Derived WSAEVENT from ISyncHandle
  • WinInet: Added missing HTTP_QUERY and HTTP_STATUS values
  • Added overloads for HttpQueryInfo that don't require lpdwIndex param

Fixes

  • BREAKING CHANGES TO WSA functions in Ws2_32: Changed return values of most functions to WSRESULT instead of incorrect Win32Error or int
  • BREAKING CHANGE: Removed winsock errors from Win32Error (incorrect fit).
  • Separated WSA code into multiple files and added error handling functions.
  • Fixed bug #304 in ChangeServiceConfig parameter lpDependencies
  • Fixed bug in DeviceIoControl<TIn, TOut>
  • Fixed bug in Uri_PROPERTY commit
  • Fixed incorrectly hidden IP_ADAPTER_ADDRESSES.Ipv6IfIndex value
  • Fixed IP_ADDR_STRING to use IP_ADDRESS_STRING fields
  • Fixed overloads for HttpQueryInfo
  • Fixed size problems with IP_ADAPTER INFO and IP_ADDR_STRING
  • Fixed string handling bug in InternetSetOption
  • Moved IPPROTO to ws2def.cs from Winsock2.cs, added WSACHSGHDR and associate macros.
  • Rearranged order of fields in Uri_PROPERTY enum for better visibility
Vanara - Release Notes - 3.4.4

Published by dahall over 2 years ago

Additions

  • Added IErrorProvider as equatable for HRESULT
  • Added overload for ResetEvent and SetEvent with HEVENT param.
  • Added RequiresUnreferencedCodeAttribute for frameworks other than NET50 and greater.
  • Added overloads for LsaAddAccountRights and LsaRemoveAccountRights and optimized marshaling code

Fixes

  • Fixed WIN32_FIND_STREAM_DATA to expose cStreamName
  • Fixed bug in EnumFileStreams
  • Fixed ambiguous references in docs
  • Fixed trimming error for type converters
  • Fixed bug in StringHelper.GetByteCount
Vanara - Release Notes - 3.4.3

Published by dahall over 2 years ago

Additions

  • Added operator overloads to SizeT
  • Added app management and storage provider interfaces to Shell32
  • Adding DbgPrint and DbgPrintEx to Wdm (#299)
  • Added provider constants to AdvApi32.WinCrypt (PInvoke.Security) and fixed CryptEnumProviders, CryptEnumProviderTypes, and CryptExportKey (#300)
  • Added ICategoryProvider::CreateCategory overload
  • Added Shell.ShellFolderCategorizer class and accessor from ShellFolder to get the "group by" categories associated with a folder.
  • Pushed MRUManager base class to Windows.Shell.Common
  • Added more helper functions for working with StringBuffer related methods.
  • Added BindCtx support for WIN32_FIND_DATA "simple parsing" and optional object parameters.
  • Added IStream load and save methods to Shell32.PIDL

Fixes

  • In Pinvoke.Crypt32, fixed PFN_CRYPT_ENUM_KEYID_PROP, BlobType, CryptEnumKeyIdentifierProperties, and PUBLICKEYSTRUC (#300)
  • Fixed IPersistFolder3::InitializeEx syntax (#301)
  • Fixed parameters of functions in INamespaceWalk
Vanara - Release Notes - 3.4.2

Published by dahall over 2 years ago

Additions

  • Updated build targets to include package readme files and CI build values for AppVeyor and GitHub.
  • Added IOleLink and supporting enums
  • Added ARRAYDESC and PARAMDESCEX structures to Ole
  • Added logging interfaces from txlogpub.h to PInvoke.Ole
  • Added interfaces from imagetranscode.h and inputpanelconfiguration to PInvoke.Shell

Fixes

  • Fixed incorrect CorrespondingAction on User32.SPI.SPI_SETTHREADLOCALINPUTSETTINGS (#298)
  • Fixed VirtualDisk.Attach(string[]...), duplicated it in VirtualDisk.AttachAsync, and removed VirtualDisk.Attach(string...), VirtualDisk.VolumeGuidPath and VirtualDisk.VolumeMountPoint in leiu of their multi-mountpoint alternatives (#284)
  • Fixed marshaling attributes for STGOPTIONS and COSERVERINFO
Vanara - Release Notes - 3.4.1

Published by dahall over 2 years ago

Additions

  • Added Vanara.Management assembly with helpers for System.Management.
  • Added Vanara.PInvoke.SensorsApi
  • VirtualDisk: Added support for mounting specific path or drive when attaching, added properties for mount information, CreateAsync, AttachAsync, VHD set, snapshot and mirror methods.
  • VirtDisk: Added CREATE_VIRTUAL_DISK_PARAMETERS.ctor, RAW_SCSI_VIRTUAL_DISK_PARAMETERS.ctor and enhanced OPEN_VIRTUAL_DISK_PARAMETERS.ctor for platform adherance and new constants from SDK.

Fixes

  • Moved RGBQUAD from Gdi32 to Shared.
  • Fixed recursive bug in WinNTExtensions.IsValidSecurityDescriptor
  • Fixed bug with DRIVE_LAYOUT_INFORMATION_EX
  • Improved error handling in DeviceIoControl
  • Fixed conditional binding to Registry in Vanara.PInvoke.Shared
  • Updates to hopefully fix PInvoke.Shared load problems
  • #284 - added functionality to address multiple mount points to VirtualDisk
  • SPCorrespondingTypeAttribute refactor (#288)
  • Rearranged file placement of elements from NtDll as part of exploring #289
  • Fixed flags in MONITORINFOEX (#293)
  • Fixed bug #294 -- problem with SYMBOL_INFO and SymEnumSymbols not showing Name field correctly. Had to change PSYM_ENUMERATESYMBOLS_CALLBACK (breaking change). Added new SymEnumSymbolsEx overload to do the hard work.
  • Reworked all structures in IpHlpApi assembly to ensure size compatibility. (#296)
  • Fixed #297 - Incorrect value for Ws2_32.IN6_ADDR.Loopback