+struct COMDLG_FILTERSPEC;
+
+struct IFileDialog : public IModalWindow
+{
+ virtual HRESULT wxSTDCALL SetFileTypes(UINT, const COMDLG_FILTERSPEC*) = 0;
+ virtual HRESULT wxSTDCALL SetFileTypeIndex(UINT) = 0;
+ virtual HRESULT wxSTDCALL GetFileTypeIndex(UINT*) = 0;
+ virtual HRESULT wxSTDCALL Advise(IFileDialogEvents*, DWORD*) = 0;
+ virtual HRESULT wxSTDCALL Unadvise(DWORD) = 0;
+ virtual HRESULT wxSTDCALL SetOptions(DWORD) = 0;
+ virtual HRESULT wxSTDCALL GetOptions(DWORD*) = 0;
+ virtual HRESULT wxSTDCALL SetDefaultFolder(IShellItem*) = 0;
+ virtual HRESULT wxSTDCALL SetFolder(IShellItem*) = 0;
+ virtual HRESULT wxSTDCALL GetFolder(IShellItem**) = 0;
+ virtual HRESULT wxSTDCALL GetCurrentSelection(IShellItem**) = 0;
+ virtual HRESULT wxSTDCALL SetFileName(LPCWSTR) = 0;
+ virtual HRESULT wxSTDCALL GetFileName(LPWSTR*) = 0;
+ virtual HRESULT wxSTDCALL SetTitle(LPCWSTR) = 0;
+ virtual HRESULT wxSTDCALL SetOkButtonLabel(LPCWSTR) = 0;
+ virtual HRESULT wxSTDCALL SetFileNameLabel(LPCWSTR) = 0;
+ virtual HRESULT wxSTDCALL GetResult(IShellItem**) = 0;
+ virtual HRESULT wxSTDCALL AddPlace(IShellItem*, DWORD) = 0;
+ virtual HRESULT wxSTDCALL SetDefaultExtension(LPCWSTR) = 0;
+ virtual HRESULT wxSTDCALL Close(HRESULT) = 0;
+ virtual HRESULT wxSTDCALL SetClientGuid(REFGUID) = 0;
+ virtual HRESULT wxSTDCALL ClearClientData() = 0;
+ virtual HRESULT wxSTDCALL SetFilter(IShellItemFilter*) = 0;
+};
+
+DEFINE_GUID(CLSID_FileOpenDialog,
+ 0xDC1C5A9C, 0xE88A, 0x4dde, 0xA5, 0xA1, 0x60, 0xF8, 0x2A, 0x20, 0xAE, 0xF7);
+
+DEFINE_GUID(IID_IFileDialog,
+ 0x42F85136, 0xDB7E, 0x439C, 0x85, 0xF1, 0xE4, 0x07, 0x5D, 0x13, 0x5F, 0xC8);
+
+#endif // #ifndef __IFileDialog_INTERFACE_DEFINED__
+
+#endif // wxUSE_IFILEDIALOG
+