From 4d758fd2c628c8a3abb3f0947d176dd46da11c38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Tue, 17 Mar 2026 13:01:41 -0400 Subject: [PATCH] Fix IFileSaveDialog COM interop definition --- .../Interfaces/IFileOpenDialog.cs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/ExternalLibraries.FilePickers/Interfaces/IFileOpenDialog.cs b/src/ExternalLibraries.FilePickers/Interfaces/IFileOpenDialog.cs index 3388db614..1d6a9a0fa 100644 --- a/src/ExternalLibraries.FilePickers/Interfaces/IFileOpenDialog.cs +++ b/src/ExternalLibraries.FilePickers/Interfaces/IFileOpenDialog.cs @@ -21,17 +21,8 @@ internal interface IFileOpenDialog : IFileDialog void GetSelectedItems([MarshalAs(UnmanagedType.Interface)] out IShellItemArray ppsai); } +[ComImport(), Guid(IIDGuid.IFileSaveDialog), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface IFileSaveDialog : IFileDialog { - // Defined on IFileDialog - repeated here due to requirements of COM interop layer - [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] - void SetFileTypes([In] uint cFileTypes, [In] ref COMDLG_FILTERSPEC rgFilterSpec); - - // Defined by IFileOpenDialog - // --------------------------------------------------------------------------------- - [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] - void GetResults([MarshalAs(UnmanagedType.Interface)] out IShellItemArray ppenum); - - [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] - void GetSelectedItems([MarshalAs(UnmanagedType.Interface)] out IShellItemArray ppsai); + // Marker interface for COM interop with IFileSaveDialog. }