15#define WINVER_VISTA 0x0600
17#ifndef SFVM_SELECTIONCHANGED
18#define SFVM_SELECTIONCHANGED 8
19#define SFVM_DRAWMENUITEM 9
20#define SFVM_MEASUREMENUITEM 10
21#define SFVM_EXITMENULOOP 11
22#define SFVM_VIEWRELEASE 12
23#define SFVM_GETNAMELENGTH 13
24#define SFVM_WINDOWCLOSING 16
25#define SFVM_LISTREFRESHED 17
26#define SFVM_WINDOWFOCUSED 18
27#define SFVM_REGISTERCOPYHOOK 20
28#define SFVM_COPYHOOKCALLBACK 21
29#define SFVM_UNMERGEFROMMENU 28
30#define SFVM_ADDINGOBJECT 29
31#define SFVM_REMOVINGOBJECT 30
32#define SFVM_GETCOMMANDDIR 33
33#define SFVM_GETCOLUMNSTREAM 34
34#define SFVM_CANSELECTALL 35
35#define SFVM_ISSTRICTREFRESH 37
36#define SFVM_ISCHILDOBJECT 38
37#define SFVM_GETEXTVIEWS 40
38#define SFVM_GET_CUSTOMVIEWINFO 77
39#define SFVM_ENUMERATEDITEMS 79
40#define SFVM_GET_VIEW_DATA 80
41#define SFVM_GET_WEBVIEW_LAYOUT 82
42#define SFVM_GET_WEBVIEW_CONTENT 83
43#define SFVM_GET_WEBVIEW_TASKS 84
44#define SFVM_GET_WEBVIEW_THEME 86
45#define SFVM_GETDEFERREDVIEWSETTINGS 92
48#define DUM_MSG_GetWindow 400
49#define DUM_MSG_ContextSensitiveHelp 401
50#define DUM_MSG_InsertMenusSB 402
51#define DUM_MSG_SetMenuSB 403
52#define DUM_MSG_RemoveMenusSB 404
53#define DUM_MSG_SetStatusTextSB 405
54#define DUM_MSG_EnableModelessSB 406
55#define DUM_MSG_TranslateAcceleratorSB 407
56#define DUM_MSG_BrowseObject 408
57#define DUM_MSG_GetViewStateStream 409
58#define DUM_MSG_GetControlWindow 410
59#define DUM_MSG_SendControlMsg 411
60#define DUM_MSG_QueryActiveShellView 412
61#define DUM_MSG_OnViewWindowActive 413
62#define DUM_MSG_SetToolbarItems 414
67 static char buf[2][50];
152#define PTR_VALUE 0xf7f7f7f7
178 for (
int n = 0;
n <
input.GetSize(); ++
n)
189 int compare_item = 0;
191 while (
compare[compare_item].uMsg && input_item <
input.GetSize())
199 ok_(
file,
line)(
cmp.lParam == inp.
lParam,
"Expected lParam to be 0x%lx, was 0x%lx for %i(%s)\n",
204 ok_(
file,
line)(inp.
lParam != 0,
"Expected lParam to be a pointer, was 0 for %i(%s)\n",
214 ok_(
file,
line)(inp.
wParam != 0,
"Expected wParam to be a pointer, was 0 for %i(%s)\n",
227 while (
compare[compare_item].uMsg)
238#define compare_list(cmp) compare_list_(g_Received, cmp, __FILE__, __LINE__)
239#define print_list() print_list_(g_Received, __FILE__, __LINE__)
246 public IShellFolderViewCB
255 if (
riid == IID_IShellFolderViewCB)
257 *
ppvObject =
static_cast<IShellFolderViewCB*
>(
this);
301 static const TCHAR* class_name =
TEXT(
"DUMMY_TEST_CLASS");
309 m_hwnd =
CreateWindowEx(0, class_name,
TEXT(
"dummy_name"),
WS_OVERLAPPEDWINDOW, 0, 0, 0, 0,
NULL,
NULL,
NULL,
NULL);
434 pRtlGetVersion(&rtlinfo);
440 CComPtr<IShellFolder> desktop;
493 static message init_list_vista[] =
521 static message refresh_list[] =
535 static message refresh_list_vista[] =
568 static message destroy_list[] =
581 CComPtr<IShellFolderView> folderView;
586 IShellFolderViewCB* oldPtr;
588 hr = folderView->SetCallback(
NULL, &oldPtr);
593 IShellFolderViewCB* oldPtr2;
594 hr = folderView->SetCallback(oldPtr, &oldPtr2);
600 ok(refCount == 1,
"refCount = %lu\n", refCount);
602 static message release_list[] =
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv)
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
#define SFVM_UNMERGEFROMMENU
#define SFVM_GETCOMMANDDIR
#define SFVM_MEASUREMENUITEM
#define DUM_MSG_BrowseObject
#define DUM_MSG_GetWindow
#define DUM_MSG_SetToolbarItems
#define SFVM_EXITMENULOOP
#define SFVM_CANSELECTALL
#define SFVM_COPYHOOKCALLBACK
#define DUM_MSG_ContextSensitiveHelp
#define SFVM_ISCHILDOBJECT
#define SFVM_GETCOLUMNSTREAM
#define SFVM_WINDOWFOCUSED
#define SFVM_REGISTERCOPYHOOK
#define SFVM_GET_CUSTOMVIEWINFO
#define DUM_MSG_TranslateAcceleratorSB
#define SFVM_ISSTRICTREFRESH
#define DUM_MSG_GetControlWindow
void add_msg(UINT uMsg, WPARAM wParam, LPARAM lParam)
void print_list_(const CSimpleArray< message > &input, const char *file, int line)
#define DUM_MSG_QueryActiveShellView
#define SFVM_GET_WEBVIEW_CONTENT
#define SFVM_GET_VIEW_DATA
#define DUM_MSG_OnViewWindowActive
#define DUM_MSG_SetStatusTextSB
#define SFVM_GETNAMELENGTH
#define DUM_MSG_RemoveMenusSB
void compare_list_(const CSimpleArray< message > &input, const message *compare, const char *file, int line)
static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static DWORD g_WinVersion
#define DUM_MSG_EnableModelessSB
#define DUM_MSG_SetMenuSB
#define SFVM_ADDINGOBJECT
#define SFVM_ENUMERATEDITEMS
#define SFVM_GETDEFERREDVIEWSETTINGS
#define SFVM_REMOVINGOBJECT
#define SFVM_LISTREFRESHED
#define DUM_MSG_InsertMenusSB
#define SFVM_GET_WEBVIEW_THEME
#define DUM_MSG_SendControlMsg
#define SFVM_WINDOWCLOSING
#define SFVM_SELECTIONCHANGED
const char * msg2str(UINT uMsg)
CSimpleArray< message > g_Received
#define compare_list(cmp)
#define SFVM_GET_WEBVIEW_TASKS
#define SFVM_DRAWMENUITEM
#define SFVM_GET_WEBVIEW_LAYOUT
#define DUM_MSG_GetViewStateStream
#define InterlockedIncrement
#define InterlockedDecrement
#define ok_hex(expression, result)
#define ok_int(expression, result)
#define STDMETHODCALLTYPE
virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(BOOL fEnable)
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(MSG *pmsg, WORD wID)
virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(HMENU hmenuShared)
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode)
virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(DWORD grfMode, IStream **ppStrm)
virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
virtual HRESULT STDMETHODCALLTYPE SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret)
virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(IShellView *pshv)
virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(IShellView **ppshv)
virtual HRESULT STDMETHODCALLTYPE SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject)
virtual HRESULT STDMETHODCALLTYPE BrowseObject(PCUIDLIST_RELATIVE pidl, UINT wFlags)
virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags)
virtual ULONG STDMETHODCALLTYPE Release(void)
virtual HRESULT STDMETHODCALLTYPE GetControlWindow(UINT id, HWND *phwnd)
virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(LPCWSTR pszStatusText)
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject)
virtual ULONG STDMETHODCALLTYPE AddRef(void)
virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd)
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject)
virtual ULONG STDMETHODCALLTYPE Release(void)
virtual HRESULT STDMETHODCALLTYPE MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam)
virtual ULONG STDMETHODCALLTYPE AddRef(void)
#define GetProcAddress(x, y)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLenum GLenum input
HRESULT CreateViewWindow([in] IShellView *psvPrevious, [in] LPCFOLDERSETTINGS lpfs, [in] IShellBrowser *psb, [out] RECT *prcView, [out] HWND *phWnd)
HRESULT DestroyViewWindow()
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define trace_(file, line,...)
#define sprintf(buf, format,...)
static HMODULE MODULEINFO DWORD cb
#define cmp(status, error)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
#define WS_OVERLAPPEDWINDOW
LONG winetest_get_failures(void)
#define SFVM_UPDATESTATUSBAR
#define SFVM_GETHELPTOPIC
#define SFVM_INITMENUPOPUP
#define SFVM_DEFITEMCOUNT
#define SFVM_GETDETAILSOF
#define SFVM_WINDOWCREATED
#define SFVM_BACKGROUNDENUM
#define SFVM_BACKGROUNDENUMDONE
#define SFVM_GETTOOLTIPTEXT
#define SFVM_GETBUTTONINFO
#define SFVM_ADDPROPERTYPAGES
#define SFVM_GETSORTDEFAULTS
#define SFVM_GETANIMATION
#define SFVM_INVOKECOMMAND
#define SFVM_QUERYFSNOTIFY
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
IShellFolderViewCB * psfvcb
message(UINT msg, WPARAM wp, LPARAM lp)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
#define IID_PPV_ARG(Itype, ppType)