[PATCH 1/4] include: Add IExplorerBrowserEvents, IExplorerPaneVisibility and IExplorerBrowser interface declarations and related GUID's.
David Hedberg
david.hedberg at gmail.com
Mon May 24 07:37:31 CDT 2010
And this time with the patches numbered..
---
include/shlguid.h | 12 +++++
include/shobjidl.idl | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++
include/shtypes.idl | 2 +
3 files changed, 143 insertions(+), 0 deletions(-)
diff --git a/include/shlguid.h b/include/shlguid.h
index 0055d38..bd75cc3 100644
--- a/include/shlguid.h
+++ b/include/shlguid.h
@@ -164,4 +164,16 @@ DEFINE_GUID(VID_Thumbnails, 0x8bebb290, 0x52d0, 0x11d0, 0xb7, 0xf4, 0x00, 0xc0,
DEFINE_GUID(VID_Tile, 0x65f125e5, 0x7be1, 0x4810, 0xba, 0x9d, 0xd2, 0x71, 0xc8, 0x43, 0x2c, 0xe3);
DEFINE_GUID(VID_ThumbStrip, 0x8eefa624, 0xd1e9, 0x445b, 0x94, 0xb7, 0x74, 0xfb, 0xce, 0x2e, 0xa1, 0x1a);
+/* IExplorerBrowser */
+DEFINE_GUID(CLSID_ExplorerBrowser, 0x71F96385, 0xDDD6, 0x48D3, 0xA0, 0xC1, 0xAE, 0x06, 0xE8, 0xB0, 0x55, 0xFB);
+
+DEFINE_GUID(EP_NavPane, 0xCB316B22, 0x25F7, 0x42B8, 0x8A, 0x09, 0x54, 0x0D, 0x23, 0xA4, 0x3C, 0x2F);
+DEFINE_GUID(EP_Commands,0xD9745868, 0xCA5F, 0x4A76, 0x91, 0xCD, 0xF5, 0xA1, 0x29, 0xFB, 0xB0, 0x76);
+DEFINE_GUID(EP_Commands_Organize, 0x72E81700, 0xE3EC, 0x4660, 0xBF, 0x24, 0x3C, 0x3B, 0x7B, 0x64, 0x88, 0x06);
+DEFINE_GUID(EP_Commands_View, 0x21F7C32D, 0xEEAA, 0x439B, 0xBB, 0x51, 0x37, 0xB9, 0x6F, 0xD6, 0xA9, 0x43);
+DEFINE_GUID(EP_DetailsPane, 0x43ABF98B, 0x89B8, 0x472D, 0xB9, 0xCE, 0xE6, 0x9B, 0x82, 0x29, 0xF0, 0x19);
+DEFINE_GUID(EP_PreviewPane, 0x893C63D1, 0x45C8, 0x4D17, 0xBE, 0x19, 0x22, 0x3B, 0xE7, 0x1B, 0xE3, 0x65);
+DEFINE_GUID(EP_QueryPane, 0x65BCDE4F, 0x4F07, 0x4F27, 0x83, 0xA7, 0x1A, 0xFC, 0xA4, 0xDF, 0x7D, 0xDD);
+DEFINE_GUID(EP_AdvQueryPane, 0xB4E9DB8B, 0x34BA, 0x4C39, 0xB5, 0xCC, 0x16, 0xA1, 0xBD, 0x2C, 0x41, 0x1C);
+
#endif /* __WINE_SHLGUID_H */
diff --git a/include/shobjidl.idl b/include/shobjidl.idl
index a106248..cf05b33 100644
--- a/include/shobjidl.idl
+++ b/include/shobjidl.idl
@@ -1569,3 +1569,132 @@ interface IProfferService : IUnknown
HRESULT RevokeService([in] DWORD cookie);
}
+
+/*****************************************************************************
+ * IExplorerBrowserEvents interface
+ */
+[
+ object,
+ uuid(361BBDC7-E6EE-4E13-BE58-58E2240C810F)
+]
+interface IExplorerBrowserEvents : IUnknown
+{
+ HRESULT OnNavigationPending(
+ [in] PCIDLIST_ABSOLUTE pidlFolder);
+
+ HRESULT OnViewCreated(
+ [in] IShellView *psv);
+
+ HRESULT OnNavigationComplete(
+ [in] PCIDLIST_ABSOLUTE pidlFolder);
+
+ HRESULT OnNavigationFailed(
+ [in] PCIDLIST_ABSOLUTE pidlFolder);
+}
+
+typedef GUID EXPLORERPANE;
+typedef EXPLORERPANE *REFEXPLORERPANE;
+
+/*****************************************************************************
+ * IExplorerPaneVisibility interface
+ */
+[
+ object,
+ uuid(E07010EC-BC17-44C0-97B0-46C7C95B9EDC)
+]
+interface IExplorerPaneVisibility : IUnknown
+{
+ typedef enum tagEXPLORERPANESTATE {
+ EPS_DONTCARE = 0x0,
+ EPS_DEFAULT_ON = 0x1,
+ EPS_DEFAULT_OFF = 0x2,
+ EPS_STATE_MASK = 0xffff,
+ EPS_INITIALSTATE = 0x10000,
+ EPS_FORCE = 0x20000
+ } EXPLORERPANESTATE;
+
+ HRESULT GetPaneState(
+ [in] REFEXPLORERPANE ep,
+ [out] EXPLORERPANESTATE *peps);
+}
+
+typedef [v1_enum] enum tagEXPLORER_BROWSER_FILL_FLAGS {
+ EBF_NONE = 0,
+ EBF_SELECTFROMDATAOBJECT = 0x100,
+ EBF_NODROPTARGET = 0x200
+} EXPLORER_BROWSER_FILL_FLAGS;
+
+typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS {
+ EBO_NONE = 0x00,
+ EBO_NAVIGATEONCE = 0x01,
+ EBO_SHOWFRAMES = 0x02,
+ EBO_ALWAYSNAVIGATE = 0x04,
+ EBO_NOTRAVELLOG = 0x08,
+ EBO_NOWRAPPERWINDOW = 0x10,
+ EBO_HTMLSHAREPOINTVIEW = 0x20
+} EXPLORER_BROWSER_OPTIONS;
+
+cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser")
+
+/*****************************************************************************
+ * IExplorerBrowser interface
+ */
+[
+ object,
+ uuid(DFD3B6B5-C10C-4BE9-85F6-A66969F402F6),
+ pointer_default(unique)
+]
+interface IExplorerBrowser : IUnknown
+{
+
+ [local] HRESULT Initialize(
+ [in] HWND hwndParent,
+ [in] const RECT *prc,
+ [in, unique] const FOLDERSETTINGS *pfs);
+
+ HRESULT Destroy();
+
+ [local] HRESULT SetRect(
+ [in,out,unique] HDWP *phdwp,
+ [in] RECT rcBrowser);
+
+ HRESULT SetPropertyBag(
+ [in, string] LPCWSTR pszPropertyBag);
+
+ HRESULT SetEmptyText(
+ [in, string] LPCWSTR pszEmptyText);
+
+ HRESULT SetFolderSettings(
+ [in] const FOLDERSETTINGS *pfs);
+
+ HRESULT Advise(
+ [in] IExplorerBrowserEvents *psbe,
+ [out] DWORD *pdwCookie);
+
+ HRESULT Unadvise(
+ [in] DWORD dwCookie);
+
+ HRESULT SetOptions(
+ [in] EXPLORER_BROWSER_OPTIONS dwFlag);
+
+ HRESULT GetOptions(
+ [out] EXPLORER_BROWSER_OPTIONS *pdwFlag);
+
+ HRESULT BrowseToIDList(
+ [in] PCUIDLIST_RELATIVE pidl,
+ [in] UINT uFlags);
+
+ HRESULT BrowseToObject(
+ [in] IUnknown *punk,
+ [in] UINT uFlags);
+
+ HRESULT FillFromObject(
+ [in] IUnknown *punk,
+ [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags);
+
+ HRESULT RemoveAll();
+
+ HRESULT GetCurrentView(
+ [in] REFIID riid,
+ [out, iid_is(riid)] IUnknown **ppv);
+}
diff --git a/include/shtypes.idl b/include/shtypes.idl
index dd908e3..5ed8daf 100644
--- a/include/shtypes.idl
+++ b/include/shtypes.idl
@@ -38,6 +38,8 @@ typedef LPITEMIDLIST PITEMID_CHILD;
typedef const PITEMID_CHILD PCITEMID_CHILD;
typedef LPCITEMIDLIST PCUITEMID_CHILD;
typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY;
+typedef LPCITEMIDLIST PCUIDLIST_RELATIVE;
+typedef LPCITEMIDLIST PCIDLIST_ABSOLUTE;
cpp_quote("#include <poppack.h>")
#ifndef MAX_PATH
--
1.7.1
More information about the wine-patches
mailing list