BOOL m_menusLoaded;
UINT m_uState;
UINT m_cidl;
- PCUITEMID_CHILD_ARRAY m_apidl;
+ PCUITEMID_CHILD *m_apidl;
PIDLIST_ABSOLUTE m_pidlParent;
LISTVIEW_SORT_INFO m_sortInfo;
ULONG m_hNotify; /* change notification handle */
SHFree(m_apidl);
m_cidl = m_ListView.GetSelectedCount();
- m_apidl = reinterpret_cast<PCUITEMID_CHILD_ARRAY>(SHAlloc(m_cidl * sizeof(PCUITEMID_CHILD)));
+ m_apidl = static_cast<PCUITEMID_CHILD*>(SHAlloc(m_cidl * sizeof(PCUITEMID_CHILD)));
if (!m_apidl)
{
m_cidl = 0;
HRESULT
WINAPI
CDefFolderMenu_Create2(
- LPCITEMIDLIST pidlFolder,
+ PCIDLIST_ABSOLUTE pidlFolder,
HWND hwnd,
UINT cidl,
- LPCITEMIDLIST *apidl,
+ PCUITEMID_CHILD_ARRAY apidl,
IShellFolder *psf,
LPFNDFMCALLBACK lpfn,
UINT nKeys,
{
private:
LPITEMIDLIST pidl;
- LPITEMIDLIST * apidl;
+ PIDLIST_RELATIVE *apidl;
UINT cidl;
DWORD dropeffect;
public:
CIDLDataObj();
~CIDLDataObj();
- HRESULT WINAPI Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidlx, UINT cidlx);
+ HRESULT WINAPI Initialize(HWND hwndOwner, PCIDLIST_ABSOLUTE pMyPidl, PCUIDLIST_RELATIVE_ARRAY apidlx, UINT cidlx);
///////////
virtual HRESULT WINAPI GetData(LPFORMATETC pformatetcIn, STGMEDIUM *pmedium);
ILFree(pidl);
}
-HRESULT WINAPI CIDLDataObj::Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidlx, UINT cidlx)
+HRESULT WINAPI CIDLDataObj::Initialize(HWND hwndOwner, PCIDLIST_ABSOLUTE pMyPidl, PCUIDLIST_RELATIVE_ARRAY apidlx, UINT cidlx)
{
pidl = ILClone(pMyPidl);
apidl = _ILCopyaPidl(apidlx, cidlx);
/**************************************************************************
* IDataObject_Constructor
*/
-HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidl, UINT cidl, IDataObject **dataObject)
+HRESULT IDataObject_Constructor(HWND hwndOwner, PCIDLIST_ABSOLUTE pMyPidl, PCUIDLIST_RELATIVE_ARRAY apidl, UINT cidl, IDataObject **dataObject)
{
return ShellObjectCreatorInit<CIDLDataObj>(hwndOwner, pMyPidl, apidl, cidl, IID_IDataObject, dataObject);
}
*
*/
-HRESULT WINAPI SHCreateDataObject(LPCITEMIDLIST pidlFolder, UINT cidl, LPCITEMIDLIST* apidl, IDataObject *pdtInner, REFIID riid, void **ppv)
+HRESULT WINAPI SHCreateDataObject(PCIDLIST_ABSOLUTE pidlFolder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, IDataObject *pdtInner, REFIID riid, void **ppv)
{
if (IsEqualIID(riid, IID_IDataObject))
{
HRESULT WINAPI CCPLItemMenu::Initialize(UINT cidl, PCUITEMID_CHILD_ARRAY apidl)
{
m_cidl = cidl;
- m_apidl = const_cast<PCUITEMID_CHILD_ARRAY>(_ILCopyaPidl(apidl, m_cidl));
+ m_apidl = _ILCopyaPidl(apidl, m_cidl);
if (m_cidl && !m_apidl)
return E_OUTOFMEMORY;
CCPLItemMenu::~CCPLItemMenu()
{
- _ILFreeaPidl(const_cast<PITEMID_CHILD *>(m_apidl), m_cidl);
+ _ILFreeaPidl(m_apidl, m_cidl);
}
HRESULT WINAPI CCPLItemMenu::QueryContextMenu(
public IContextMenu2
{
private:
- LPCITEMIDLIST *m_apidl;
+ PITEMID_CHILD *m_apidl;
UINT m_cidl;
public:
*
* copies an aPidl struct
*/
-LPITEMIDLIST* _ILCopyaPidl(const LPCITEMIDLIST * apidlsrc, UINT cidl)
+PITEMID_CHILD* _ILCopyaPidl(PCUITEMID_CHILD_ARRAY apidlsrc, UINT cidl)
{
UINT i;
- LPITEMIDLIST *apidldest;
+ PITEMID_CHILD *apidldest;
if (!apidlsrc)
return NULL;
- apidldest = SHAlloc(cidl * sizeof(LPITEMIDLIST));
+ apidldest = SHAlloc(cidl * sizeof(PITEMID_CHILD));
for (i = 0; i < cidl; i++)
apidldest[i] = ILClone(apidlsrc[i]);
* aPidl helper
*/
void _ILFreeaPidl(LPITEMIDLIST * apidl, UINT cidl) DECLSPEC_HIDDEN;
-LPITEMIDLIST * _ILCopyaPidl(const LPCITEMIDLIST * apidlsrc, UINT cidl) DECLSPEC_HIDDEN;
+PITEMID_CHILD* _ILCopyaPidl(PCUITEMID_CHILD_ARRAY apidlsrc, UINT cidl) DECLSPEC_HIDDEN;
LPITEMIDLIST * _ILCopyCidaToaPidl(LPITEMIDLIST* pidl, const CIDA * cida) DECLSPEC_HIDDEN;
BOOL ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type) DECLSPEC_HIDDEN;
/****************************************************************************
* Class constructors
*/
-HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidl, UINT cidl, IDataObject **dataObject);
+HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, PCUITEMID_CHILD_ARRAY apidl, UINT cidl, IDataObject **dataObject);
HRESULT IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[], IEnumFORMATETC **enumerator);
LPCLASSFACTORY IClassFactory_Constructor(REFCLSID);
* Create IDataObject from PIDLs??
*/
HRESULT WINAPI CIDLData_CreateFromIDArray(
- LPCITEMIDLIST pidlFolder,
+ PCIDLIST_ABSOLUTE pidlFolder,
UINT cpidlFiles,
- LPCITEMIDLIST *lppidlFiles,
+ PCUIDLIST_RELATIVE_ARRAY lppidlFiles,
LPDATAOBJECT *ppdataObject)
{
UINT i;