2007-03-27 17:47:10 +00:00
|
|
|
/*
|
|
|
|
* CiderPress
|
|
|
|
* Copyright (C) 2007 by faddenSoft, LLC. All Rights Reserved.
|
|
|
|
* See the file LICENSE for distribution terms.
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
* A collection of functions for manipulating Pointers to ID Lists (PIDLs).
|
|
|
|
*/
|
|
|
|
#ifndef __PIDL__
|
|
|
|
#define __PIDL__
|
|
|
|
|
|
|
|
/*
|
|
|
|
* All functions are static; the class is more about namespace protection than
|
|
|
|
* data encapsulation.
|
|
|
|
*/
|
|
|
|
class Pidl {
|
|
|
|
public:
|
|
|
|
// Functions that deal with PIDLs
|
|
|
|
static LPITEMIDLIST ConcatPidls(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
|
|
|
|
static LPITEMIDLIST GetFullyQualPidl(LPSHELLFOLDER lpsf, LPITEMIDLIST lpi);
|
|
|
|
static LPITEMIDLIST CopyITEMID(LPMALLOC lpMalloc, LPITEMIDLIST lpi);
|
|
|
|
static BOOL GetName(LPSHELLFOLDER lpsf, LPITEMIDLIST lpi, DWORD dwFlags,
|
2014-11-04 00:26:53 +00:00
|
|
|
LPSTR lpFriendlyName);
|
2007-03-27 17:47:10 +00:00
|
|
|
static LPITEMIDLIST CreatePidl(UINT cbSize);
|
|
|
|
static UINT GetSize(LPCITEMIDLIST pidl);
|
|
|
|
static LPITEMIDLIST Next(LPCITEMIDLIST pidl);
|
2014-11-04 00:26:53 +00:00
|
|
|
static BOOL GetPath(LPCITEMIDLIST pidl, CString* pPath);
|
2007-03-27 17:47:10 +00:00
|
|
|
|
2014-11-04 00:26:53 +00:00
|
|
|
// Utility Functions
|
|
|
|
//static BOOL DoTheMenuThing(HWND hwnd, LPSHELLFOLDER lpsfParent,
|
|
|
|
// LPITEMIDLIST lpi, LPPOINT lppt);
|
|
|
|
static int GetItemIcon(LPITEMIDLIST lpi, UINT uFlags);
|
2007-03-27 17:47:10 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /*__PIDL__*/
|