www.pudn.com > TrueCrypt.rar > ShellPidl.h


// ShellPidl.h: interface for the CShellPidl class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_SHELLPIDL_H__2407E43F_1F47_47CE_86FA_E4562590DB0A__INCLUDED_) 
#define AFX_SHELLPIDL_H__2407E43F_1F47_47CE_86FA_E4562590DB0A__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
typedef struct tagTREEPARAM 
{ 
   LPSHELLFOLDER lpsf; 
   LPITEMIDLIST  lpidl; 
   UINT		     uParam;		 
} TREEPARAM, *LPTREEPARAM; 
 
typedef struct tagLISTPARAM 
{ 
	LPSHELLFOLDER lpsf; 
	LPITEMIDLIST  lpidl; 
	UINT     uType; 
	TCHAR    szName[128]; 
}LISTPARAM, *LPLISTPARAM; 
 
class CShellPidl   
{ 
public: 
	LPITEMIDLIST CopyItemID(LPITEMIDLIST pidl,int n=0); 
	LPITEMIDLIST CopyAbsItemID(LPITEMIDLIST pidl,int n); 
	BOOL ComparePidls(LPSHELLFOLDER pFolder,LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2); 
	LPCITEMIDLIST Next(LPCITEMIDLIST pidl); 
	CShellPidl(); 
	virtual ~CShellPidl(); 
 
protected: 
	IMalloc  * m_pMalloc; 
 
protected: 
	UINT GetPidlSize(LPCITEMIDLIST pidl); 
	LPITEMIDLIST CopyItemIDList(LPITEMIDLIST pidl); 
	LPITEMIDLIST ConcatPidl(LPITEMIDLIST pidlDest,LPITEMIDLIST pidlSrc); 
}; 
 
#endif // !defined(AFX_SHELLPIDL_H__2407E43F_1F47_47CE_86FA_E4562590DB0A__INCLUDED_)