diff --git a/include/shlobj.h b/include/shlobj.h index 5ed49782f38..64800235657 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -277,8 +277,6 @@ typedef struct * IShellView interface */ -typedef GUID SHELLVIEWID; - #define FCIDM_SHVIEWFIRST 0x0000 /* undocumented */ #define FCIDM_SHVIEW_ARRANGE 0x7001 diff --git a/include/shobjidl.idl b/include/shobjidl.idl index 95e532cdecc..156d146c47b 100644 --- a/include/shobjidl.idl +++ b/include/shobjidl.idl @@ -461,6 +461,44 @@ interface IShellView : IOleWindow [out, iid_is(riid)] void **ppv); } +[ + object, + uuid(88e39e80-3578-11cf-ae69-08002b2e1262), + pointer_default(unique) +] +interface IShellView2 : IShellView +{ + typedef GUID SHELLVIEWID; +cpp_quote("#include ") + typedef struct _SV2CVW2_PARAMS + { + DWORD cbSize; + IShellView *psvPrev; + LPCFOLDERSETTINGS pfs; + IShellBrowser *psbOwner; + RECT *prcView; + SHELLVIEWID const *pvid; + HWND hwndView; + } SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS; +cpp_quote("#include ") + + HRESULT GetView( + [in, out] SHELLVIEWID *view_guid, + [in] ULONG view_type + ); + HRESULT CreateViewWindow2( + [in] LPSV2CVW2_PARAMS view_params + ); + HRESULT HandleRename( + [in] LPCITEMIDLIST new_pidl + ); + HRESULT SelectAndPositionItem( + [in] LPCITEMIDLIST item, + [in] UINT flags, + [in] POINT *point + ); +} + /***************************************************************************** * IShellBrowser interface