using System; using System.Runtime.InteropServices; namespace FontPreview; [ComImport] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("d57c7288-d4ad-4768-be02-9d969532d960")] internal interface IFileOpenDialog { [PreserveSig] int Show(IntPtr hwndOwner); [PreserveSig] int SetFileTypes(uint cFileTypes, [In][MarshalAs(UnmanagedType.LPArray)] IntPtr[] rgFilterSpec); [PreserveSig] int SetFileTypeIndex(uint iFileType); [PreserveSig] int GetFileTypeIndex(out uint piFileType); [PreserveSig] int Advise(IntPtr pfde, out uint pdwCookie); [PreserveSig] int Unadvise(uint dwCookie); [PreserveSig] int SetOptions(uint fos); [PreserveSig] int GetOptions(out uint pfos); [PreserveSig] int SetDefaultFolder(IShellItem psi); [PreserveSig] int SetFolder(IShellItem psi); [PreserveSig] int GetFolder(out IShellItem ppsi); [PreserveSig] int GetCurrentSelection(out IShellItem ppsi); [PreserveSig] int SetFileName([MarshalAs(UnmanagedType.LPWStr)] string pszName); [PreserveSig] int GetFileName([MarshalAs(UnmanagedType.LPWStr)] out string pszName); [PreserveSig] int SetTitle([MarshalAs(UnmanagedType.LPWStr)] string pszTitle); [PreserveSig] int SetOkButtonLabel([MarshalAs(UnmanagedType.LPWStr)] string pszText); [PreserveSig] int SetFileNameLabel([MarshalAs(UnmanagedType.LPWStr)] string pszLabel); [PreserveSig] int GetResult(out IShellItem ppsi); [PreserveSig] int AddPlace(IShellItem psi, int fdap); [PreserveSig] int SetDefaultExtension([MarshalAs(UnmanagedType.LPWStr)] string pszDefaultExtension); [PreserveSig] int Close(int hr); [PreserveSig] int SetClientGuid(ref Guid guid); [PreserveSig] int ClearClientData(); [PreserveSig] int SetFilter(IntPtr pFilter); [PreserveSig] int GetResults(IntPtr ppenum); [PreserveSig] int GetSelectedItems(IntPtr ppsai); }