1 /* 2 * Shell AutoComplete list 3 * 4 * Copyright 2015 Thomas Faber 5 * 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. 10 * 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. 15 * 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 19 */ 20 21 #include "precomp.h" 22 23 CACListISF::CACListISF() : 24 m_dwOptions(0) 25 { 26 } 27 28 CACListISF::~CACListISF() 29 { 30 } 31 32 // *** IEnumString methods *** 33 HRESULT STDMETHODCALLTYPE CACListISF::Next(ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched) 34 { 35 TRACE("(%p, %d, %p, %p)\n", this, celt, rgelt, pceltFetched); 36 return E_NOTIMPL; 37 } 38 39 HRESULT STDMETHODCALLTYPE CACListISF::Reset() 40 { 41 TRACE("(%p)\n", this); 42 return E_NOTIMPL; 43 } 44 45 HRESULT STDMETHODCALLTYPE CACListISF::Skip(ULONG celt) 46 { 47 TRACE("(%p, %d)\n", this, celt); 48 return E_NOTIMPL; 49 } 50 51 HRESULT STDMETHODCALLTYPE CACListISF::Clone(IEnumString **ppOut) 52 { 53 TRACE("(%p, %p)\n", this, ppOut); 54 *ppOut = NULL; 55 return E_NOTIMPL; 56 } 57 58 // *** IACList methods *** 59 HRESULT STDMETHODCALLTYPE CACListISF::Expand(LPCOLESTR pszExpand) 60 { 61 TRACE("(%p, %ls)\n", this, pszExpand); 62 return E_NOTIMPL; 63 } 64 65 // *** IACList2 methods *** 66 HRESULT STDMETHODCALLTYPE CACListISF::SetOptions(DWORD dwFlag) 67 { 68 TRACE("(%p, %lu)\n", this, dwFlag); 69 m_dwOptions = dwFlag; 70 return S_OK; 71 } 72 73 HRESULT STDMETHODCALLTYPE CACListISF::GetOptions(DWORD* pdwFlag) 74 { 75 TRACE("(%p, %p)\n", this, pdwFlag); 76 *pdwFlag = m_dwOptions; 77 return S_OK; 78 } 79 80 // *** IShellService methods *** 81 HRESULT STDMETHODCALLTYPE CACListISF::SetOwner(IUnknown *punkOwner) 82 { 83 TRACE("(%p, %p)\n", this, punkOwner); 84 return E_NOTIMPL; 85 } 86 87 // *** IPersist methods *** 88 HRESULT STDMETHODCALLTYPE CACListISF::GetClassID(CLSID *pClassID) 89 { 90 TRACE("(%p, %p)\n", this, pClassID); 91 if (pClassID == NULL) 92 return E_POINTER; 93 *pClassID = CLSID_ACListISF; 94 return S_OK; 95 } 96 97 // *** IPersistFolder methods *** 98 HRESULT STDMETHODCALLTYPE CACListISF::Initialize(LPCITEMIDLIST pidl) 99 { 100 TRACE("(%p, %p)\n", this, pidl); 101 return S_OK; 102 } 103