Skip to content

Bump Vanara.PInvoke.User32 from 4.2.1 to 5.0.1#91

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/nuget/TimVer/Vanara.PInvoke.User32-5.0.1
Open

Bump Vanara.PInvoke.User32 from 4.2.1 to 5.0.1#91
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/nuget/TimVer/Vanara.PInvoke.User32-5.0.1

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 12, 2026

Updated Vanara.PInvoke.User32 from 4.2.1 to 5.0.1.

Release notes

Sourced from Vanara.PInvoke.User32's releases.

5.0.1

  • Consolidated Vanara.PInvoke.Shared into Vanara.Core
  • Added support for .NET 10 which required removing support for .NET Core 3.1 in the Vanara.WinUI.Extensions package.
  • Removed StructPointer and ArrayPointer method parametes to allow .NET 4.8 to keep working and updated many methods to use updated generators.
  • Added implicit Span/ReadOnlySpan conversions to SafeNativeArray
  • Completed work on new TypeDef generator.
  • Converted BOOL, BOOLEAN, LCID, and LUID to use new TypeDef generator
  • Added PROPERTYKEY.System.RemoteConflictingFile value (#​574)
  • Added StructHelper.InitFixedArray to help with fixed size field initialization from an array that may be of a smaller or equal length.Introduced AnySizeStructFieldArray.AsSpan(int length) for safer access to unmanaged array data via Span. Removed Obsolete attribute and added XML doc warning about memory overruns, recommending marshaling as a safer alternative.SafeMemStruct<TStruct, TMem> is now a public class with public constructors, allowing direct instantiation. The FieldAddress method now uses Marshal.OffsetOf(name) for improved type safety.Add span support and advanced count override to SafeNativeArray
  • Corrected issue with VssApi NuGet package (#​575) not delivering ijwhost.dll which caused load problems with consumed.
  • Added extension method to change IVssAsync into waitable Task and added VSS error messages.
  • Add RefEnumeratorEx for custom unmanaged iteration
  • Breaking Changes: Complete overhaul of PerfLib and Pdh methods and structures. Shouldn't affect many since it was so broken.
  • Applied DefaultDllImportSearchPaths(System32) to all assemblies to harden WinAPI P/Invoke Imports #​582
  • Updated file attribute flags to split out those used by CreateFile2 and CreateFile3 structures
  • To address #​580, rewrote ListImplBase to effectively cache values rather than dynamically get them each time. This should speed query of the Count property and non-first item retrievals.
  • Added OverloadResolutionPriortiyAttribute for pre .NET 7 and optimized code for other compatibility attributesMinor refactoring
  • Added IGetMemorySize and IMemoryHandle interfaces for improved memory block size introspection and management. Updated HGlobalMemoryMethods to support size queries via GlobalSize. Refactored ISafeMemoryHandleBase to inherit from IMemoryHandle. Improved XML docs and exception references. Added Fill method and new constructor to SafeNativeArray for easier array initialization. Minor code and documentation cleanups.Introduce MarshalHelper with generic native-to-managed marshaling. Enhance GetFieldSizeViaAttribute to handle missing attributes. Update exception and attribute documentation for clarity. Refactor Marshaler.WriteFields to accept nativeSize parameter.
  • Major overhaul of parameter attribute processing in the Vanara source generator:
    • Added support for StructPointer and ArrayPointer attributes, enabling advanced marshaling scenarios with custom memory managers and marshalers.
    • Introduced ParamInfo-derived classes for robust attribute parsing and validation.
    • Attribute handlers now support ordered processing for multiple attributes.
    • Generator logic now merges and orders parameter attributes for correct transformation.
    • Rewrote Build*Method functions for improved error handling and code generation.
    • Enhanced XML documentation and utility methods.
    • Refactored MethodBodyBuilder for clarity and extensibility.
    • Improves flexibility, robustness, and error reporting for complex interop cases.Update CI build workflow for Visual Studio 2026
  • Fixed bug #​587 - ShellItem.FileInfo or ShellFileInfo(PIDL) throw exceptions when file name is longer than MAX_PATH.
  • Added StringBuilder overload for GetRawInputDeviceInfo to address #​592 scenario.
  • Enhanced GetRawInputDeviceInfo overload to return a generic type and removed generated overloads.
  • Fixed context menu and PIDL handling issues, mostly affecting context menu retrieval
  • Prelimary work on analyzers to help with Vanara
  • Reworked OBJECT_TYPE_LIST to eliminate unsafe uses
  • Removed problematic ICollection inheritance from Shell32.IShellWindows to ensure proper function under .NET 10 (#​590)
  • Fixed IThumbnailProvider definition (#​579)

5.0.0

Major release due to magnitude of changes introduced with full generation. Generation of simpler methods and consolidation of methods into safe handles added for primary assemblies. More to come.

Generator

  • Complete rewrite of code generator to merge existing and new SizeDef and Ignore attributes
  • Lots of updates based on new generated code. Mostly cosmetic, removing duplicate functions that are now generated, adjusting attributes to get the correct generation, and fixing a few bugs along the way.
  • Added generator support of methods that ask for a known interface and its GUID to automatically grab the grid.
  • Fixed and finished adding LPArray generator
  • Generator that adds simplified methods as overloads or as members of supporting handles

Additions

  • Added SHCreateDefaultContextMenuEx overloads and improve DEFCONTEXTMENU
  • Added ShellItemArray.FromPaths for creating from file paths
  • Added DisposingList to Vanara.Core for managed disposal of list elements
  • Added DynamicallyAccessedMembersAttribute for backward compatibility
  • Added FMTID values and moved PROPERTYKEY constants to using those instead of individual definitionFixed bug in SAFEARRAY.VarType property
  • Added Guid* operator to SafeGuidPtr
  • Added InteropExtensions.UnsafeAddrOfPinnedSpanElement method
  • Added OleThreadState class to handle thread-safe calling of OleInitializeCleaned and optimized POINT struct
  • Added OleThreadState handling to ShellContextMenu, added Invoke method, optimized codeChanged ctors for CMINVOKECOMMANDINFOEX
  • Added SafeMemStruct.GetStringAtOffset method
  • Added Shell32.PIDL IsFolder and IsRoot properties
  • Added StringSyntaxAttribute for pre-NET7
  • Added StructPointer support for putting and geting "in" struct values
  • Added ability to export and import wallpaper settings for WallpaperManagerCommits
  • Added default ctor to SafeAnysizeStructMarshaler to prevent errors
  • Added enhanced interface for errors, IErrorProvider2 and used to genercize FunctionHelper.CallMethodWithTypedBufUpdated MarshalAs LPArray attributes with direction attribute and size param valueAdded more SizeParamIndex values
  • Added function and property to SafeBITMAPINFO to get header by ref.
  • Added implicit conversion of HCFFILE and SafeHCFFILE to HFILE for appropriate use by many CldApi functions (#​563)Commits on Oct 14, 2025
  • Added memory handle support for Span in ctor and implicit operator
  • Added more attributes to IShellFolder methods
  • Added more buffer error codes
  • Added unit tests for ShellItemChangeWatcher.
  • Introduced a readonly FOURCC struct in Vanara.PInvoke to represent four-character codes used in multimedia formats. Provides constructors for uint, string, and char inputs, implicit conversions, string validation, and a string representation method. Designed for interop compatibility with sequential layout.Added code generation to Gdi32 assembly
  • Updated WLAN enums

Breaking Changes

  • Update IShellItem.BindToHandler signature and docs
  • Hid ShellItem.Dispose() to favor new Dispose(bool) methodUpdated shell unit tests to cover and exercise changes
  • Removed Vanara.PInvoke.SizeFieldName and updated helper method to use SafeDefAttribute instead. Too much overlapping functionality, limited use, and additional work for generator.Updated methods that have called FunctionHelper.IUnkObj to use MarshalAs attribute so generator can see themReplaced SizeFieldName attributes with SizeDef
  • Changed shell object wrappers to better handle disposing of COM objects using Dispose pattern and hard releasing of interface. Added Dispose(bool) method and finalizers.Updated lots of unit tests to work better, work correctly, or use more recent data.Commits on Dec 10, 2025

Fixes

  • Changed IPropertyDescription.FormatForDisplay to expose HRESULT return valueChanged impl of SHGetPropertyStoreFromIDList to use generated overload
  • Clarified ambiguous calls in ShlObj and improved structures with ctors and attributesChanged IContextMenu.GetCommandString declaration and fixed extension
  • Cleaned up PROPERTYKEY
  • Converted NativeClipboard to use OleThreadState
  • Enhance Shell32.BHID enum with additional CorrespondingType mappings
  • Fix ListViewNotification enum to start with correct LVN_FIRST value #​571
  • Fix msbuild commands in cibuild.yml
  • Fixed Marshal.SizeOf expressions
    ... (truncated)

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: Vanara.PInvoke.User32
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants