ReactOS 0.4.17-dev-573-g8315b8c
CShellLibrary.h
Go to the documentation of this file.
1/*
2 * PROJECT: shell32
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: IShellLibrary header
5 * COPYRIGHT: Copyright 2021 Oleg Dubinskiy (oleg.dubinskij2013@yandex.ua)
6 */
7
8#ifndef _CSHELLLIBRARY_H_
9#define _CSHELLLIBRARY_H_
10
12 public CComCoClass<CShellLibrary, &CLSID_ShellLibrary>,
13 public CComObjectRootEx<CComMultiThreadModelNoCS>,
14 public IShellLibrary
15{
16public:
19
20 /*** IShellLibrary methods ***/
21 STDMETHODIMP AddFolder(IShellItem *psiLocation) override;
22 STDMETHODIMP Commit() override;
26 STDMETHODIMP GetIcon(LPWSTR *ppszIcon) override;
27 STDMETHODIMP GetOptions(LIBRARYOPTIONFLAGS *plofOptions) override;
28 STDMETHODIMP LoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode) override;
30 STDMETHODIMP RemoveFolder(IShellItem *psiLocation) override;
31 STDMETHODIMP ResolveFolder(IShellItem *psiFolderToResolve, DWORD dwTimeout, REFIID riid, void **ppv) override;
32 STDMETHODIMP Save(IShellItem *psiFolderToSaveIn, LPCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, IShellItem **ppsiSavedTo) override;
33 STDMETHODIMP SaveInKnownFolder(REFKNOWNFOLDERID kfidToSaveIn, LPCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, IShellItem **ppsiSavedTo) override;
36 STDMETHODIMP SetIcon(LPCWSTR pszIcon) override;
38
39
42
44
46 COM_INTERFACE_ENTRY_IID(IID_IShellLibrary, IShellLibrary)
48};
49
50#endif // _CSHELLLIBRARY_H_
#define STDMETHODIMP
Definition: basetyps.h:43
STDMETHODIMP GetFolders(LIBRARYFOLDERFILTER lff, REFIID riid, void **ppv) override
STDMETHODIMP RemoveFolder(IShellItem *psiLocation) override
STDMETHODIMP LoadLibraryFromKnownFolder(REFKNOWNFOLDERID kfidLibrary, DWORD grfMode) override
STDMETHODIMP GetOptions(LIBRARYOPTIONFLAGS *plofOptions) override
STDMETHODIMP Save(IShellItem *psiFolderToSaveIn, LPCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, IShellItem **ppsiSavedTo) override
STDMETHODIMP Commit() override
STDMETHODIMP GetFolderType(FOLDERTYPEID *pftid) override
STDMETHODIMP SetDefaultSaveFolder(DEFAULTSAVEFOLDERTYPE dsft, IShellItem *psi) override
STDMETHODIMP AddFolder(IShellItem *psiLocation) override
STDMETHODIMP LoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode) override
STDMETHODIMP ResolveFolder(IShellItem *psiFolderToResolve, DWORD dwTimeout, REFIID riid, void **ppv) override
STDMETHODIMP GetIcon(LPWSTR *ppszIcon) override
STDMETHODIMP GetDefaultSaveFolder(DEFAULTSAVEFOLDERTYPE dsft, REFIID riid, void **ppv) override
STDMETHODIMP SaveInKnownFolder(REFKNOWNFOLDERID kfidToSaveIn, LPCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, IShellItem **ppsiSavedTo) override
STDMETHODIMP SetIcon(LPCWSTR pszIcon) override
STDMETHODIMP SetFolderType(REFFOLDERTYPEID ftid) override
STDMETHODIMP SetOptions(LIBRARYOPTIONFLAGS lofMask, LIBRARYOPTIONFLAGS lofOptions) override
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
#define REFIID
Definition: guiddef.h:118
LIBRARYSAVEFLAGS
Definition: shobjidl.idl:4873
DEFAULTSAVEFOLDERTYPE
Definition: shobjidl.idl:4870
LIBRARYOPTIONFLAGS
Definition: shobjidl.idl:4857
#define IDR_SHELLLIBRARY
Definition: shresdef.h:964
const uint16_t * LPCWSTR
Definition: typedefs.h:57
uint16_t * LPWSTR
Definition: typedefs.h:56