Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
2.1 KiB

  1. LPITEMIDLIST ILGetNext(LPCITEMIDLIST pidl);
  2. UINT ILGetSize(LPCITEMIDLIST pidl);
  3. LPITEMIDLIST ILCreate(void);
  4. void ILFree(LPITEMIDLIST pidl);
  5. LPITEMIDLIST ILCreateFromPath(LPCSTR szPath);
  6. BOOL ILGetDisplayName(LPCITEMIDLIST pidl, LPSTR pszName);
  7. LPITEMIDLIST ILFindLastID(LPCITEMIDLIST pidl);
  8. BOOL ILRemoveLastID(LPITEMIDLIST pidl);
  9. LPITEMIDLIST ILClone(LPCITEMIDLIST pidl);
  10. LPITEMIDLIST ILCloneFirst(LPCITEMIDLIST pidl);
  11. BOOL ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
  12. BOOL ILIsEqualItemID(LPCSHITEMID pmkid1, LPCSHITEMID pmkid2);
  13. BOOL ILIsParent(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2, BOOL fImmediate);
  14. LPITEMIDLIST ILFindChild(LPCITEMIDLIST pidlParent, LPCITEMIDLIST pidlChild);
  15. LPITEMIDLIST ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
  16. HRESULT ILLoadFromStream(LPSTREAM pstm, LPITEMIDLIST *pidl);
  17. HRESULT ILSaveToStream(LPSTREAM pstm, LPCITEMIDLIST pidl);
  18. LPITEMIDLIST ILCreateFromPath(LPCSTR szPath);
  19. // LPITEMIDLIST ILAppendID(LPITEMIDLIST pidl, LPCSHITEMID pmkid, BOOL fAppend);
  20. BOOL StrRetToStrN(LPSTR szOut, UINT uszOut, LPSTRRET pStrRet, LPCITEMIDLIST pidl);
  21. // helper macros
  22. #define ILIsEmpty(pidl) ((pidl)->mkid.cb==0)
  23. #define ILCreateFromID(pmkid) ILAppendID(NULL, pmkid, TRUE)
  24. // unsafe macros
  25. #define _ILSkip(pidl, cb) ((LPITEMIDLIST)(((BYTE*)(pidl))+cb))
  26. #define _ILNext(pidl) _ILSkip(pidl, (pidl)->mkid.cb)
  27. #ifdef _HIDA
  28. //===========================================================================
  29. // HIDA -- IDList Array handle
  30. //===========================================================================
  31. typedef HGLOBAL HIDA;
  32. HIDA HIDA_Create(LPCITEMIDLIST pidlFolder, UINT cidl, LPCITEMIDLIST *apidl);
  33. void HIDA_Free(HIDA hida);
  34. HIDA HIDA_Clone(HIDA hida);
  35. UINT HIDA_GetCount(HIDA hida);
  36. UINT HIDA_GetIDList(HIDA hida, UINT i, LPITEMIDLIST pidlOut, UINT cbMax);
  37. LPCITEMIDLIST HIDA_GetIDListPtr(HIDA hida, UINT i);
  38. LPITEMIDLIST HIDA_ILClone(HIDA hida, UINT i);
  39. LPITEMIDLIST IDA_ILClone(LPIDA pida, UINT i);
  40. LPITEMIDLIST HIDA_FillIDList(HIDA hida, UINT i, LPITEMIDLIST pidl);
  41. #define HIDA_Free(HIDA hida) GlobalFree(hida)
  42. #endif _HIDA