ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

shellitem.h
Go to the documentation of this file.
00001 /*
00002  * IShellItem implementation
00003  *
00004  * Copyright 2008 Vincent Povirk for CodeWeavers
00005  * Copyright 2009 Andrew Hill
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00020  */
00021 
00022 #ifndef _SHELLITEM_H_
00023 #define _SHELLITEM_H_
00024 
00025 class CShellItem :
00026     public CComCoClass<CShellItem, &CLSID_ShellItem>,
00027     public CComObjectRootEx<CComMultiThreadModelNoCS>,
00028     public IShellItem,
00029     public IPersistIDList
00030 {
00031 private:
00032     LPITEMIDLIST            pidl;
00033 public:
00034     CShellItem();
00035     ~CShellItem();
00036     HRESULT get_parent_pidl(LPITEMIDLIST *parent_pidl);
00037     HRESULT get_parent_shellfolder(IShellFolder **ppsf);
00038 
00039     // IShellItem
00040     virtual HRESULT WINAPI BindToHandler(IBindCtx *pbc, REFGUID rbhid, REFIID riid, void **ppvOut);
00041     virtual HRESULT WINAPI GetParent(IShellItem **ppsi);
00042     virtual HRESULT WINAPI GetDisplayName(SIGDN sigdnName, LPWSTR *ppszName);
00043     virtual HRESULT WINAPI GetAttributes(SFGAOF sfgaoMask, SFGAOF *psfgaoAttribs);
00044     virtual HRESULT WINAPI Compare(IShellItem *oth, SICHINTF hint, int *piOrder);
00045 
00046     // IPersistIDList
00047     virtual HRESULT WINAPI GetClassID(CLSID *pClassID);
00048     virtual HRESULT WINAPI SetIDList(LPCITEMIDLIST pidl);
00049     virtual HRESULT WINAPI GetIDList(LPITEMIDLIST *ppidl);
00050 
00051 DECLARE_NO_REGISTRY()
00052 DECLARE_NOT_AGGREGATABLE(CShellItem)
00053 
00054 DECLARE_PROTECT_FINAL_CONSTRUCT()
00055 
00056 BEGIN_COM_MAP(CShellItem)
00057     COM_INTERFACE_ENTRY_IID(IID_IShellItem, IShellItem)
00058     COM_INTERFACE_ENTRY_IID(IID_IPersistIDList, IPersistIDList)
00059 END_COM_MAP()
00060 };
00061 
00062 #endif // _SHELLITEM_H_

Generated on Thu May 24 2012 04:26:53 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.