include: Added IShellFolderViewDual definition.

This commit is contained in:
Nikolay Sivov 2015-04-28 14:05:54 +03:00 committed by Alexandre Julliard
parent 4f228378db
commit d6802318aa
2 changed files with 136 additions and 0 deletions

View file

@ -364,6 +364,27 @@ static void test_service(void)
IShellDispatch2_Release(sd);
}
static void test_ShellFolderView(void)
{
IShellFolderViewDual *viewdual;
IShellFolder *desktop;
IShellView *view;
HRESULT hr;
/* IShellFolderViewDual is not an IShellView extension */
hr = SHGetDesktopFolder(&desktop);
ok(hr == S_OK, "got 0x%08x\n", hr);
hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
ok(hr == S_OK, "got 0x%08x\n", hr);
hr = IShellView_QueryInterface(view, &IID_IShellFolderViewDual, (void**)&viewdual);
ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
IShellView_Release(view);
IShellFolder_Release(desktop);
}
START_TEST(shelldispatch)
{
HRESULT r;
@ -376,6 +397,7 @@ START_TEST(shelldispatch)
init_function_pointers();
test_namespace();
test_service();
test_ShellFolderView();
CoUninitialize();
}

View file

@ -586,6 +586,120 @@ enum ShellSpecialFolderConstants {
ssfPROGRAMFILESx86 = 0x30
} ShellSpecialFolderConstants;
/*****************************************************************************
* IShellFolderViewDual interface
*/
typedef
[
uuid(742a99a0-c77e-11d0-a32c-00a0c91eedba)
]
enum ShellFolderViewOptions
{
SFVVO_SHOWALLOBJECTS = 0x00000001,
SFVVO_SHOWEXTENSIONS = 0x00000002,
SFVVO_SHOWCOMPCOLOR = 0x00000008,
SFVVO_SHOWSYSFILES = 0x00000020,
SFVVO_WIN95CLASSIC = 0x00000040,
SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080,
SFVVO_DESKTOPHTML = 0x00000200
} ShellFolderViewOptions;
[
uuid(e7a1af80-4d96-11cf-960c-0080c7f4ee85),
oleautomation,
hidden,
dual
]
interface IShellFolderViewDual : IDispatch
{
[propget]
HRESULT Application([out, retval] IDispatch **app);
[propget]
HRESULT Parent([out, retval] IDispatch **parent);
[propget]
HRESULT Folder([out, retval] Folder **folder);
HRESULT SelectedItems([out, retval] FolderItems **items);
[propget]
HRESULT FocusedItem([out, retval] FolderItem **item);
HRESULT SelectItem([in] VARIANT *item, [in] int flags);
HRESULT PopupItemMenu([in] FolderItem *item,
[in, optional] VARIANT vx,
[in, optional] VARIANT vy,
[out, retval] BSTR *command);
[propget]
HRESULT Script([out, retval] IDispatch **script);
[propget]
HRESULT ViewOptions([out, retval] long *options);
}
[
uuid(31c147b6-0ade-4a3c-b514-ddf932ef6d17),
oleautomation,
hidden,
dual
]
interface IShellFolderViewDual2 : IShellFolderViewDual
{
[propget]
HRESULT CurrentViewMode([out, retval] UINT *mode);
[propput]
HRESULT CurrentViewMode([in] UINT mode);
HRESULT SelectItemRelative([in] int relative);
}
[
uuid(29ec8e6c-46d3-411f-baaa-611a6c9cac66),
oleautomation,
hidden,
dual
]
interface IShellFolderViewDual3 : IShellFolderViewDual2
{
[propget]
HRESULT GroupBy([out, retval] BSTR *groupby);
[propput]
HRESULT GroupBy([in] BSTR groupby);
[propget]
HRESULT FolderFlags([out, retval] DWORD *flags);
[propput]
HRESULT FolderFlags([in] DWORD flags);
[propget]
HRESULT SortColumns([out, retval] BSTR *sortcolumns);
[propput]
HRESULT SortColumns([in] BSTR sortcolumns);
[propput]
HRESULT IconSize([in] int icon_size);
[propget]
HRESULT IconSize([out, retval] int *icon_size);
HRESULT FilterView([in, unique] BSTR filter_text);
}
[
uuid(62112aa1-ebe4-11cf-a5fb-0020afe7292d)
]
coclass ShellFolderView
{
[default] interface IShellFolderViewDual3;
[default, source] dispinterface DShellFolderViewEvents;
}
} /* library Shell32 */
/*****************************************************************************