50#define LISTVIEW_SEQ_INDEX 0
51#define NUM_MSG_SEQUENCES 1
53DEFINE_GUID(IID_IPersistHistory, 0x91a565c1, 0xe38f, 0x11d0, 0x94, 0xbf, 0x00, 0xa0, 0xc9, 0x05, 0x5c, 0xbf);
60 static LONG defwndproc_counter = 0;
107 for(
i = 0;
i < msg_seq->
count ;
i++)
124 for(
j = 0; msgs[
j] != 0;
j++)
130 trace(
"Unexpected message %d\n",
msg);
133 ok_(
file,
line) (!failcount,
"%d failures.\n", failcount);
137#define verify_msgs_in(seq, msgs) \
138 verify_msgs_in_(seq, msgs, __FILE__, __LINE__)
171 *ppvObj = &
This->IDataObject_iface;
176 IDataObject_AddRef(iface);
216 IDataObject *iface, FORMATETC *pformatIn, FORMATETC *pformatOut)
222 IDataObject *iface, FORMATETC *pformat, STGMEDIUM *pmedium,
BOOL release)
301 *ppvObj = &
This->IShellBrowser_iface;
306 IShellBrowser_AddRef(iface);
375 LPOLEMENUGROUPWIDTHS lpMenuWidths)
415 HOLEMENU holemenuReserved,
416 HWND hwndActiveObject)
423 LPCOLESTR lpszStatusText)
525 ok(0,
"unexpected\n");
530 OLEMENUGROUPWIDTHS *menuwidths)
536 HOLEMENU holemenuReserved,
HWND hwndActiveObject)
548 ok(0,
"unexpected\n");
554 ok(0,
"unexpected\n");
560 ok(0,
"unexpected\n");
566 ok(0,
"unexpected\n");
588 ok(0,
"unexpected\n");
594 ok(0,
"unexpected\n");
630 HWND hwnd_view, hwnd2;
642 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&
view);
645 hr = IShellView_QueryInterface(
view, &IID_CDefView, (
void **)&unk);
648 IUnknown_Release(unk);
658 hwnd_view = (
HWND)0xdeadbeef;
661 ok(hwnd_view == 0,
"got %p\n", hwnd_view);
663 hwnd_view = (
HWND)0xdeadbeef;
666 ok(hwnd_view == 0,
"got %p\n", hwnd_view);
671 ok(hwnd_view != 0,
"got %p\n", hwnd_view);
673 hwnd2 = (
HWND)0xdeadbeef;
676 ok(hwnd2 ==
NULL,
"got %p\n", hwnd2);
679 hr = IShellView_QueryInterface(
view, &IID_IDropTarget, (
void**)&dt);
681 hr = IDropTarget_DragLeave(dt);
683 IDropTarget_Release(dt);
685 IShellView_AddRef(
view);
686 ref1 = IShellView_Release(
view);
687 hr = IShellView_DestroyViewWindow(
view);
689 ok(!
IsWindow(hwnd_view),
"hwnd %p still valid\n", hwnd_view);
690 ref2 = IShellView_Release(
view);
691 ok(ref1 > ref2,
"expected %u > %u\n", ref1, ref2);
695 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&
view);
700 ok(hwnd_view !=
NULL,
"got %p\n", hwnd_view);
701 ok(
IsWindow(hwnd_view),
"hwnd %p still valid\n", hwnd_view);
702 ref2 = IShellView_Release(
view);
703 ok(ref2 != 0,
"ref2 = %u\n", ref2);
704 ok(ref2 > ref1,
"expected %u > %u\n", ref2, ref1);
705 ok(
IsWindow(hwnd_view),
"hwnd %p still valid\n", hwnd_view);
708 IShellFolder_Release(desktop);
720 HWND hwnd_view, hwnd_list;
730 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&
view);
733 hr = IShellView_QueryInterface(
view, &IID_IFolderView, (
void**)&fv);
736 win_skip(
"IFolderView not supported by desktop folder\n");
737 IShellView_Release(
view);
738 IShellFolder_Release(desktop);
743 hr = IFolderView_GetSpacing(fv,
NULL);
746 pidl = (
void*)0xdeadbeef;
747 hr = IFolderView_Item(fv, 0, &pidl);
749 ok(pidl == 0 ||
broken(pidl == (
void*)0xdeadbeef) ,
"got %p\n", pidl);
754 IFolderView_GetSpacing(fv, &
pt);
757 IFolderView_GetSelectionMarkedItem(fv,
NULL);
758 IFolderView_GetFocusedItem(fv,
NULL);
761 IFolderView_Item(fv, 0,
NULL);
768 hwnd_view = (
HWND)0xdeadbeef;
772 ok(
IsWindow(hwnd_view),
"got %p\n", hwnd_view);
777 win_skip(
"Failed to subclass ListView control\n");
778 IShellBrowser_Release(browser);
779 IFolderView_Release(fv);
780 IShellView_Release(
view);
781 IShellFolder_Release(desktop);
787 hr = IFolderView_GetSpacing(fv,
NULL);
792 hr = IFolderView_GetSpacing(fv, &
pt);
798 ok(
pt.x > 0,
"got %d\n",
pt.x);
799 ok(
pt.y > 0,
"got %d\n",
pt.y);
808 IFolderView_ItemCount(fv, SVGIO_ALLVIEW,
NULL);
812 IFolderView_ItemCount(fv, SVGIO_ALLVIEW, &
count);
818 IFolderView_GetSelectionMarkedItem(fv,
NULL);
822 hr = IFolderView_GetSelectionMarkedItem(fv, &
ret);
828 "IFolderView::GetSelectionMarkedItem",
FALSE);
832 hr = IFolderView_GetFocusedItem(fv, &
ret);
838 "IFolderView::GetFocusedItem",
FALSE);
844 IFolderView_GetFolder(fv,
NULL, (
void**)&
folder);
845 IFolderView_GetFolder(fv,
NULL,
NULL);
848 hr = IFolderView_GetFolder(fv, &IID_IShellFolder,
NULL);
851 hr = IFolderView_GetFolder(fv, &IID_IShellFolder, (
void**)&
folder);
858 if (unk) IUnknown_Release(unk);
860 hr = IFolderView_QueryInterface(fv, &IID_IFolderView2, (
void**)&fv2);
862 win_skip(
"IFolderView2 is not supported.\n");
863 if (fv2) IFolderView2_Release(fv2);
865 hr = IShellView_DestroyViewWindow(
view);
867 ok(!
IsWindow(hwnd_view),
"hwnd %p still valid\n", hwnd_view);
869 IShellBrowser_Release(browser);
870 IFolderView_Release(fv);
871 IShellView_Release(
view);
872 IShellFolder_Release(desktop);
885 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&
view);
890 hr = IShellView_GetItemObject(
view, SVGIO_BACKGROUND, &IID_IContextMenu, (
void**)&unk);
892 IUnknown_Release(unk);
897 if (unk) IUnknown_Release(unk);
900 hr = IShellView_GetItemObject(
view, SVGIO_BACKGROUND, &IID_IPersistHistory, (
void**)&unk);
902 if (unk) IUnknown_Release(unk);
908 IShellView_Release(
view);
909 IShellFolder_Release(desktop);
914 IShellFolderView *folderview;
924 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&
view);
927 hr = IShellView_QueryInterface(
view, &IID_IShellFolderView, (
void**)&folderview);
930 win_skip(
"IShellView doesn't provide IShellFolderView on this platform\n");
931 IShellView_Release(
view);
932 IShellFolder_Release(desktop);
940 IDataObject_Release(
obj);
952 ok(
i == 0xdeadbeef,
"got %d\n",
i);
963 IShellView_Release(
view);
964 IShellFolder_Release(desktop);
977 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&
view);
984 hr = IShellView_ContextSensitiveHelp(
view,
TRUE);
989 IShellView_Release(
view);
990 IShellFolder_Release(desktop);
1088 RECT rc = {0, 0, 10, 10};
1091 static const int winxp_res[11] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
1092 static const int win2k3_res[11] = {0, 1, 2, 3, 4, 5, 6, 5, 8, 0, 0};
1093 static const int vista_res[11] = {0, 1, 5, 3, 4, 5, 6, 7, 7, 0, 0};
1094 static const int win7_res[11] = {1, 1, 1, 3, 4, 1, 6, 1, 8, 8, 8};
1099 hr = IShellFolder_CreateViewObject(desktop,
NULL, &IID_IShellView, (
void**)&sview);
1105 hr = IShellView_CreateViewWindow(sview,
NULL, &
fs, browser, &rc, &
hwnd);
1108 hr = IShellView_QueryInterface(sview, &IID_IFolderView, (
void**)&fview);
1118 IFolderView_GetCurrentViewMode(fview,
NULL);
1121 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1123 ok(viewmode == 1,
"ViewMode was %d\n", viewmode);
1125 hr = IFolderView_SetCurrentViewMode(fview,
FVM_AUTO);
1128 hr = IFolderView_SetCurrentViewMode(fview, 0);
1130 "got (0x%08x)\n",
hr);
1132 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1135 for(
i = 1;
i < 9;
i++)
1137 hr = IFolderView_SetCurrentViewMode(fview,
i);
1139 "(%d) got (0x%08x)\n",
i,
hr);
1141 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1145 ok((viewmode == win7_res[
i]) || (viewmode == vista_res[
i]) ||
1146 (viewmode == win2k3_res[
i]) || (viewmode == winxp_res[
i]),
1147 "(%d) got %d\n",
i , viewmode);
1150 hr = IFolderView_SetCurrentViewMode(fview, 9);
1152 "got (0x%08x)\n",
hr);
1156 ok(hwnd_lv !=
NULL,
"Failed to subclass listview\n");
1164 static const UINT vista_plus_msgs[] = {
1170 hr = IFolderView_SetCurrentViewMode(fview, 1);
1179 "IFolderView::SetCurrentViewMode(1)",
TRUE);
1181 hr = IFolderView_SetCurrentViewMode(fview, 2);
1187 "IFolderView::SetCurrentViewMode(2)",
TRUE);
1189 hr = IFolderView_SetCurrentViewMode(fview, 3);
1195 "IFolderView::SetCurrentViewMode(3)",
TRUE);
1197 hr = IFolderView_SetCurrentViewMode(fview, 4);
1203 "IFolderView::SetCurrentViewMode(4)",
TRUE);
1205 hr = IFolderView_SetCurrentViewMode(fview, 5);
1218 ok(
count == 1 ||
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1223 hr = IFolderView_SetCurrentViewMode(fview, 6);
1236 ok(
count == 1 ||
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1241 hr = IFolderView_SetCurrentViewMode(fview, 7);
1254 ok(
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1259 hr = IFolderView_SetCurrentViewMode(fview, 8);
1272 ok(
count == 2,
"LVM_SETEXTENDEDLISTVIEWSTYLE sent %d times.\n",
count);
1277 hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
1278 ok(
hr ==
S_OK,
"Failed to get current viewmode.\n");
1280 "IFolderView::GetCurrentViewMode",
FALSE);
1283 IFolderView_Release(fview);
1287 skip(
"No IFolderView for the desktop folder.\n");
1290 IShellBrowser_Release(browser);
1291 IShellView_DestroyViewWindow(sview);
1292 IShellView_Release(sview);
1293 IShellFolder_Release(desktop);
1306 hr = IShellFolder_CreateViewObject(psf_desktop,
NULL, &IID_IShellView, (
void**)&psv);
1310 hr = IShellView_QueryInterface(psv, &IID_IOleCommandTarget, (
void**)&poct);
1320 hr = IOleCommandTarget_QueryStatus(poct,
NULL, 0, &oc,
NULL);
1321 ok(
hr == OLECMDERR_E_UNKNOWNGROUP,
"Got 0x%08x\n",
hr);
1324 hr = IOleCommandTarget_QueryStatus(poct,
NULL, 1, &oc,
NULL);
1325 ok(
hr == OLECMDERR_E_UNKNOWNGROUP,
"Got 0x%08x\n",
hr);
1328 ok(
hr == OLECMDERR_E_UNKNOWNGROUP,
"Got 0x%08x\n",
hr);
1330 IOleCommandTarget_Release(poct);
1333 IShellView_Release(psv);
1336 IShellFolder_Release(psf_desktop);
1357 psv = (
void *)0xdeadbeef;
1360 ok(psv ==
NULL,
"psv = %p\n", psv);
1362 memset(&sfvc, 0,
sizeof(sfvc));
1363 psv = (
void *)0xdeadbeef;
1366 ok(psv ==
NULL,
"psv = %p\n", psv);
1368 memset(&sfvc, 0,
sizeof(sfvc));
1369 sfvc.
cbSize =
sizeof(sfvc) - 1;
1370 psv = (
void *)0xdeadbeef;
1373 ok(psv ==
NULL,
"psv = %p\n", psv);
1375 memset(&sfvc, 0,
sizeof(sfvc));
1376 sfvc.
cbSize =
sizeof(sfvc) + 1;
1377 psv = (
void *)0xdeadbeef;
1380 ok(psv ==
NULL,
"psv = %p\n", psv);
1385 memset(&sfvc, 0,
sizeof(sfvc));
1386 sfvc.
cbSize =
sizeof(sfvc);
1387 psv = (
void *)0xdeadbeef;
1390 ok(psv ==
NULL,
"psv = %p\n", psv);
1392 memset(&sfvc, 0,
sizeof(sfvc));
1393 sfvc.
cbSize =
sizeof(sfvc) - 1;
1394 sfvc.
pshf = desktop;
1395 psv = (
void *)0xdeadbeef;
1398 ok(psv ==
NULL,
"psv = %p\n", psv);
1400 memset(&sfvc, 0,
sizeof(sfvc));
1401 sfvc.
cbSize =
sizeof(sfvc);
1402 sfvc.
pshf = desktop;
1406 ok(psv !=
NULL,
"psv = %p\n", psv);
1408 hr = IShellView_QueryInterface(psv, &IID_CDefView, (
void **)&unk);
1411 IUnknown_Release(unk);
1413 refCount = IShellView_Release(psv);
1414 ok(refCount == 0,
"refCount = %u\n", refCount);
1416 IShellFolder_Release(desktop);
1439 memset(&csfv, 0,
sizeof(csfv));
1440 csfv.
pshf = desktop;
1444 ok(psv !=
NULL,
"psv = %p\n", psv);
1446 hr = IShellView_QueryInterface(psv, &IID_CDefView, (
void **)&unk);
1449 IUnknown_Release(unk);
1451 refCount = IShellView_Release(psv);
1452 ok(refCount == 0,
"refCount = %u\n", refCount);
1457 memset(&csfv, 0,
sizeof(csfv));
1459 psv = (
void *)0xdeadbeef;
1462 ok(psv ==
NULL,
"psv = %p\n", psv);
1464 memset(&csfv, 0,
sizeof(csfv));
1465 csfv.
cbSize =
sizeof(csfv);
1466 csfv.
pshf = desktop;
1470 ok(psv !=
NULL,
"psv = %p\n", psv);
1473 refCount = IShellView_Release(psv);
1474 ok(refCount == 0,
"refCount = %u\n", refCount);
1477 IShellFolder_Release(desktop);
1486 ok(
hr ==
S_OK,
"Failed to create NewMenu object, hr %#x.\n",
hr);
1489 skip(
"NewMenu is not supported.\n");
1493 hr = IUnknown_QueryInterface(unk, &IID_IShellExtInit, (
void **)&unk2);
1494 ok(
hr ==
S_OK,
"Failed to get IShellExtInit, hr %#x.\n",
hr);
1495 IUnknown_Release(unk2);
1497 hr = IUnknown_QueryInterface(unk, &IID_IContextMenu, (
void **)&unk2);
1498 ok(
hr ==
S_OK,
"Failed to get IContextMenu, hr %#x.\n",
hr);
1499 IUnknown_Release(unk2);
1501 hr = IUnknown_QueryInterface(unk, &IID_IContextMenu2, (
void **)&unk2);
1502 ok(
hr ==
S_OK,
"Failed to get IContextMenu2, hr %#x.\n",
hr);
1503 IUnknown_Release(unk2);
1505 hr = IUnknown_QueryInterface(unk, &IID_IContextMenu3, (
void **)&unk2);
1506 ok(
hr ==
S_OK,
"Failed to get IContextMenu3, hr %#x.\n",
hr);
1507 IUnknown_Release(unk2);
1510 ok(
hr ==
S_OK,
"Failed to get IObjectWithSite, hr %#x.\n",
hr);
1511 IUnknown_Release(unk2);
1513 IUnknown_Release(unk);
EXTERN_C HRESULT WINAPI SHCreateShellFolderViewEx(_In_ LPCSFV pcsfv, _Out_ IShellView **ppsv)
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv)
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
struct mke2fs_defaults settings[]
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
implementation of IDataObject interface
IDataObject IDataObject_iface
static void init_msg_sequences(struct msg_sequence **seq, int n)
static void flush_sequences(struct msg_sequence **seq, int n)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH OleInitialize(LPVOID reserved)
void WINAPI DECLSPEC_HOTPATCH OleUninitialize(void)
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble r
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
const IID IID_IObjectWithSite
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
interface IStream * LPSTREAM
const GUID IID_IOleWindow
const GUID IID_IDataObject
#define LVM_GETITEMSPACING
#define LVM_SETSELECTEDCOLUMN
#define LVM_GETSELECTIONMARK
#define LVM_GETTEXTBKCOLOR
#define LVM_SETEXTENDEDLISTVIEWSTYLE
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
#define IShellFolderView_Release(p)
#define IShellFolderView_MoveIcons(p, a)
#define IShellFolderView_QuerySupport(p, a)
#define IShellFolderView_RemoveObject(p, a, b)
#define IShellFolderView_SetRedraw(p, a)
static HRESULT WINAPI shellbrowser_OnViewWindowActive(IShellBrowser *iface, IShellView *view)
static HRESULT WINAPI IShellBrowserImpl_SetToolbarItems(IShellBrowser *iface, LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags)
static HRESULT WINAPI IDataObjectImpl_EnumFormatEtc(IDataObject *iface, DWORD direction, IEnumFORMATETC **ppenumFormatEtc)
static HRESULT WINAPI shellbrowser_SendControlMsg(IShellBrowser *iface, UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret)
static HRESULT WINAPI IShellBrowserImpl_GetViewStateStream(IShellBrowser *iface, DWORD mode, LPSTREAM *pStrm)
#define verify_msgs_in(seq, msgs)
static HRESULT WINAPI shellbrowser_GetControlWindow(IShellBrowser *iface, UINT id, HWND *phwnd)
static HRESULT WINAPI shellbrowser_QueryActiveShellView(IShellBrowser *iface, IShellView **view)
static HRESULT WINAPI shellbrowser_InsertMenusSB(IShellBrowser *iface, HMENU hmenuShared, OLEMENUGROUPWIDTHS *menuwidths)
static void test_SHCreateShellFolderView(void)
static void test_IOleCommandTarget(void)
static HRESULT WINAPI shellbrowser_RemoveMenusSB(IShellBrowser *iface, HMENU hmenuShared)
static IDataObject * IDataObjectImpl_Construct(void)
static HRESULT WINAPI shellbrowser_SetStatusTextSB(IShellBrowser *iface, LPCOLESTR text)
static const struct message folderview_setcurrentviewmode3_prevista[]
static ULONG WINAPI shellbrowser_Release(IShellBrowser *iface)
#define NUM_MSG_SEQUENCES
static HRESULT WINAPI IDataObjectImpl_DUnadvise(IDataObject *iface, DWORD connection)
static HWND subclass_listview(HWND hwnd)
static const IShellBrowserVtbl IShellBrowserImpl_Vtbl
static void verify_msgs_in_(struct msg_sequence *seq, const UINT *msgs, const char *file, int line)
static HRESULT WINAPI IShellBrowserImpl_QueryInterface(IShellBrowser *iface, REFIID riid, LPVOID *ppvObj)
static HRESULT WINAPI shellbrowser_SetMenuSB(IShellBrowser *iface, HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject)
static void test_IShellFolderView(void)
static HRESULT WINAPI IDataObjectImpl_GetCanonicalFormatEtc(IDataObject *iface, FORMATETC *pformatIn, FORMATETC *pformatOut)
static HRESULT WINAPI IShellBrowserImpl_GetControlWindow(IShellBrowser *iface, UINT id, HWND *lphwnd)
static ULONG WINAPI IShellBrowserImpl_AddRef(IShellBrowser *iface)
static HRESULT WINAPI IDataObjectImpl_DAdvise(IDataObject *iface, FORMATETC *pformatetc, DWORD advf, IAdviseSink *pSink, DWORD *pConnection)
static HRESULT WINAPI shellbrowser_SetToolbarItems(IShellBrowser *iface, LPTBBUTTONSB buttons, UINT count, UINT flags)
static const struct message folderview_getspacing_seq[]
#define LISTVIEW_SEQ_INDEX
static HRESULT WINAPI IShellBrowserImpl_SendControlMsg(IShellBrowser *iface, UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret)
static const struct message folderview_getfocused_seq[]
static HRESULT WINAPI shellbrowser_ContextSensitiveHelp(IShellBrowser *iface, BOOL mode)
static HRESULT WINAPI IDataObjectImpl_GetData(IDataObject *iface, FORMATETC *pformat, STGMEDIUM *pmedium)
static HRESULT WINAPI shellbrowser_QueryInterface(IShellBrowser *iface, REFIID riid, void **ppv)
static ULONG WINAPI IDataObjectImpl_Release(IDataObject *iface)
static HRESULT WINAPI IShellBrowserImpl_ContextSensitiveHelp(IShellBrowser *iface, BOOL fEnterMode)
static IDataObjectImpl * impl_from_IDataObject(IDataObject *iface)
static void test_CreateViewWindow(void)
static struct msg_sequence * sequences[NUM_MSG_SEQUENCES]
static HRESULT WINAPI IDataObjectImpl_GetDataHere(IDataObject *iface, FORMATETC *pformat, STGMEDIUM *pmedium)
static HRESULT WINAPI IDataObjectImpl_SetData(IDataObject *iface, FORMATETC *pformat, STGMEDIUM *pmedium, BOOL release)
static HRESULT WINAPI shellbrowser_BrowseObject(IShellBrowser *iface, LPCITEMIDLIST pidl, UINT flags)
static HRESULT WINAPI IDataObjectImpl_QueryInterface(IDataObject *iface, REFIID riid, void **ppvObj)
static const IShellBrowserVtbl shellbrowservtbl
static HRESULT WINAPI IShellBrowserImpl_EnableModelessSB(IShellBrowser *iface, BOOL fEnable)
static const struct message folderview_setcurrentviewmode4_prevista[]
static HRESULT WINAPI shellbrowser_TranslateAcceleratorSB(IShellBrowser *iface, MSG *pmsg, WORD wID)
static IShellBrowser test_shellbrowser
static HRESULT WINAPI IShellBrowserImpl_RemoveMenusSB(IShellBrowser *iface, HMENU hmenuShared)
static HRESULT WINAPI IDataObjectImpl_QueryGetData(IDataObject *iface, FORMATETC *pformat)
static HRESULT WINAPI IDataObjectImpl_EnumDAdvise(IDataObject *iface, IEnumSTATDATA **ppenumAdvise)
static LRESULT WINAPI listview_subclass_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static void test_GetSetCurrentViewMode(void)
static IShellBrowser * IShellBrowserImpl_Construct(void)
static HRESULT WINAPI IShellBrowserImpl_BrowseObject(IShellBrowser *iface, LPCITEMIDLIST pidl, UINT wFlags)
static const struct message folderview_setcurrentviewmode1_2_prevista[]
static HRESULT WINAPI IShellBrowserImpl_InsertMenusSB(IShellBrowser *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
static void test_IFolderView(void)
static ULONG WINAPI shellbrowser_AddRef(IShellBrowser *iface)
static HRESULT WINAPI shellbrowser_GetViewStateStream(IShellBrowser *iface, DWORD mode, IStream **stream)
static HRESULT WINAPI IShellBrowserImpl_SetMenuSB(IShellBrowser *iface, HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject)
static HRESULT WINAPI IShellBrowserImpl_OnViewWindowActive(IShellBrowser *iface, IShellView *ppshv)
static IShellBrowserImpl * impl_from_IShellBrowser(IShellBrowser *iface)
static ULONG WINAPI IShellBrowserImpl_Release(IShellBrowser *iface)
static HRESULT WINAPI IShellBrowserImpl_SetStatusTextSB(IShellBrowser *iface, LPCOLESTR lpszStatusText)
static void test_IOleWindow(void)
static HRESULT WINAPI IShellBrowserImpl_QueryActiveShellView(IShellBrowser *iface, IShellView **ppshv)
static HRESULT WINAPI IShellBrowserImpl_GetWindow(IShellBrowser *iface, HWND *phwnd)
static void test_GetItemObject(void)
static HRESULT WINAPI IShellBrowserImpl_TranslateAcceleratorSB(IShellBrowser *iface, LPMSG lpmsg, WORD wID)
static const struct message folderview_getselectionmarked_seq[]
static HRESULT WINAPI shellbrowser_GetWindow(IShellBrowser *iface, HWND *phwnd)
static UINT get_msg_count(struct msg_sequence **seq, int sequence_index, UINT message)
static HRESULT WINAPI shellbrowser_EnableModelessSB(IShellBrowser *iface, BOOL enable)
static void test_SHCreateShellFolderViewEx(void)
static ULONG WINAPI IDataObjectImpl_AddRef(IDataObject *iface)
static void test_newmenu(void)
static const IDataObjectVtbl IDataObjectImpl_Vtbl
static const struct message empty_seq[]
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Implementation of IShellBrowser and ICommDlgBrowser interfaces for explorer child windows (see ShellB...
IShellBrowser IShellBrowser_iface
struct message * sequence
IDataObject IDataObject_iface
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define CONTAINING_RECORD(address, type, field)
_In_ DWORD _Out_ _In_ WORD wFlags
#define SetWindowLongPtrA
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define WM_WINDOWPOSCHANGING
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define GetWindowLongPtrA
HWND WINAPI FindWindowExA(_In_opt_ HWND, _In_opt_ HWND, _In_opt_ LPCSTR, _In_opt_ LPCSTR)
HWND WINAPI GetDesktopWindow(void)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
#define WM_WINDOWPOSCHANGED
BOOL WINAPI DestroyWindow(_In_ HWND)
LRESULT WINAPI CallWindowProcA(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)