From 004fed63c5c96f57925f3a63412c0f739beb2a01 Mon Sep 17 00:00:00 2001 From: Robert Shearman Date: Tue, 21 Jan 2003 19:28:36 +0000 Subject: [PATCH] - Clear bits in structure passed to IOleCommandTarget_QueryStatus to show that we don't support any Exec's. - Add two Exec cases that were found during testing. --- dlls/shell32/shlview.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c index 810a1b74533..0a6de599a55 100644 --- a/dlls/shell32/shlview.c +++ b/dlls/shell32/shlview.c @@ -1932,11 +1932,20 @@ static HRESULT WINAPI ISVOleCmdTarget_QueryStatus( OLECMD * prgCmds, OLECMDTEXT* pCmdText) { - _ICOM_THIS_From_IOleCommandTarget(IShellViewImpl, iface); + int i; + _ICOM_THIS_From_IOleCommandTarget(IShellViewImpl, iface); - FIXME("(%p)->(%p(%s) 0x%08lx %p %p\n", + FIXME("(%p)->(%p(%s) 0x%08lx %p %p\n", This, pguidCmdGroup, debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText); - return E_NOTIMPL; + + if (!prgCmds) + return E_POINTER; + for (i = 0; i < cCmds; i++) + { + FIXME("\tprgCmds[%d].cmdID = %ld\n", i, prgCmds[i].cmdID); + prgCmds[i].cmdf = 0; + } + return OLECMDERR_E_UNKNOWNGROUP; } /********************************************************** @@ -1956,7 +1965,17 @@ static HRESULT WINAPI ISVOleCmdTarget_Exec( FIXME("(%p)->(\n\tTarget GUID:%s Command:0x%08lx Opt:0x%08lx %p %p)\n", This, debugstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, pvaIn, pvaOut); - return E_NOTIMPL; + + if (IsEqualIID(pguidCmdGroup, &CGID_Explorer) && + (nCmdID == 0x29) && + (nCmdexecopt == 4) && pvaOut) + return S_OK; + if (IsEqualIID(pguidCmdGroup, &CGID_ShellDocView) && + (nCmdID == 9) && + (nCmdexecopt == 0)) + return 1; + + return OLECMDERR_E_UNKNOWNGROUP; } static ICOM_VTABLE(IOleCommandTarget) ctvt =