ReactOS 0.4.16-dev-2175-g9420ab7
CRecycleBinFolderViewCB.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: Recycle Bin virtual folder callback
5 * COPYRIGHT: Copyright 2026 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
6 */
7
8#pragma once
9
11 : public CComObjectRootEx<CComMultiThreadModelNoCS>
12 , public IShellFolderViewCB
13{
14 IShellView *m_pShellView; // Not ref-counted!
16 ULONG m_nChangeNotif; // Change notification handle
17 CComHeapPtr<ITEMIDLIST> m_pidlParent;
18 CComHeapPtr<ITEMIDLIST> m_pidls[2];
19
23
24public:
27 void Initialize(CRecycleBin *pRecycleBin, IShellView *psv, LPCITEMIDLIST pidlParent);
28
29 // IShellFolderViewCB
31
35 COM_INTERFACE_ENTRY_IID(IID_IShellFolderViewCB, IShellFolderViewCB)
37};
#define STDMETHODIMP
Definition: basetyps.h:43
HRESULT RegisterChangeNotify(HWND hwndView)
void TranslateTwoPIDLs(PIDLIST_ABSOLUTE *pidls)
CComHeapPtr< ITEMIDLIST > m_pidlParent
CComHeapPtr< ITEMIDLIST > m_pidls[2]
STDMETHODIMP MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam) override
HRESULT TranslatePidl(LPITEMIDLIST *ppidlNew, LPCITEMIDLIST pidl)
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define END_COM_MAP()
Definition: atlcom.h:592
#define DECLARE_NO_REGISTRY()
Definition: atlcom.h:639
LONG_PTR LPARAM
Definition: minwindef.h:175
UINT_PTR WPARAM
Definition: minwindef.h:174
unsigned int UINT
Definition: ndis.h:50
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
uint32_t ULONG
Definition: typedefs.h:59
static void Initialize()
Definition: xlate.c:212