2 * FolderItemVerb(s) implementation
4 * Copyright 2015 Mark Jansen
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 WINE_DEFAULT_DEBUG_CHANNEL(shell
);
26 CFolderItemVerb::CFolderItemVerb()
30 CFolderItemVerb::~CFolderItemVerb()
34 //void CFolderItemVerb::Init(LPITEMIDLIST idlist)
36 // m_idlist.Attach(idlist);
39 // *** IDispatch methods ***
40 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::GetTypeInfoCount(UINT
*pctinfo
)
42 TRACE("(%p, %p)\n", this, pctinfo
);
46 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::GetTypeInfo(UINT iTInfo
, LCID lcid
, ITypeInfo
**ppTInfo
)
48 TRACE("(%p, %lu, %lu, %p)\n", this, iTInfo
, lcid
, ppTInfo
);
52 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::GetIDsOfNames(REFIID riid
, LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
54 TRACE("(%p, %s, %p, %lu, %lu, %p)\n", this, wine_dbgstr_guid(&riid
), rgszNames
, cNames
, lcid
, rgDispId
);
58 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::Invoke(DISPID dispIdMember
, REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
, EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
60 TRACE("(%p, %lu, %s, %lu, %lu, %p, %p, %p, %p)\n", this, dispIdMember
, wine_dbgstr_guid(&riid
), lcid
, (DWORD
)wFlags
,
61 pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
65 // *** FolderItemVerb methods ***
67 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::get_Application(IDispatch
**ppid
)
69 TRACE("(%p, %p)\n", this, ppid
);
73 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::get_Parent(IDispatch
**ppid
)
75 TRACE("(%p, %p)\n", this, ppid
);
79 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::get_Name(BSTR
*pbs
)
81 TRACE("(%p, %p)\n", this, pbs
);
85 *pbs
= SysAllocString(L
"");
89 HRESULT STDMETHODCALLTYPE
CFolderItemVerb::DoIt()
91 TRACE("(%p, %p)\n", this);
100 CFolderItemVerbs::CFolderItemVerbs()
104 CFolderItemVerbs::~CFolderItemVerbs()
108 //void CFolderItemVerbs::Init(LPITEMIDLIST idlist)
110 // m_idlist.Attach(idlist);
113 // *** IDispatch methods ***
114 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::GetTypeInfoCount(UINT
*pctinfo
)
116 TRACE("(%p, %p)\n", this, pctinfo
);
120 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::GetTypeInfo(UINT iTInfo
, LCID lcid
, ITypeInfo
**ppTInfo
)
122 TRACE("(%p, %lu, %lu, %p)\n", this, iTInfo
, lcid
, ppTInfo
);
126 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::GetIDsOfNames(REFIID riid
, LPOLESTR
*rgszNames
, UINT cNames
, LCID lcid
, DISPID
*rgDispId
)
128 TRACE("(%p, %s, %p, %lu, %lu, %p)\n", this, wine_dbgstr_guid(&riid
), rgszNames
, cNames
, lcid
, rgDispId
);
132 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::Invoke(DISPID dispIdMember
, REFIID riid
, LCID lcid
, WORD wFlags
, DISPPARAMS
*pDispParams
, VARIANT
*pVarResult
, EXCEPINFO
*pExcepInfo
, UINT
*puArgErr
)
134 TRACE("(%p, %lu, %s, %lu, %lu, %p, %p, %p, %p)\n", this, dispIdMember
, wine_dbgstr_guid(&riid
), lcid
, (DWORD
)wFlags
,
135 pDispParams
, pVarResult
, pExcepInfo
, puArgErr
);
139 // *** FolderItemVerbs methods ***
140 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::get_Count(LONG
*plCount
)
142 TRACE("(%p, %p)\n", this, plCount
);
149 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::get_Application(IDispatch
**ppid
)
151 TRACE("(%p, %p)\n", this, ppid
);
155 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::get_Parent(IDispatch
**ppid
)
157 TRACE("(%p, %p)\n", this, ppid
);
161 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::Item(VARIANT index
, FolderItemVerb
**ppid
)
163 TRACE("(%p, %s, %p)\n", this, wine_dbgstr_variant(&index
), ppid
);
168 CFolderItemVerb
* verb
= new CComObject
<CFolderItemVerb
>();
175 HRESULT STDMETHODCALLTYPE
CFolderItemVerbs::_NewEnum(IUnknown
**ppunk
)
177 TRACE("(%p, %p)\n", this, ppunk
);