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.

38 lines
1.7 KiB

  1. #ifndef DPASTUFF_H_
  2. #define DPASTUFF_H_
  3. typedef struct
  4. {
  5. DWORD dwSortBy; // the sort by flag.
  6. IShellFolder *psf; // shell folder to be ordered.
  7. // Caller of OrderList_Merge does *not* fill in this field.
  8. // This field is used internally by OrderList_Merge.
  9. IShellFolder2 *psf2; // IShellFolder2 version of psf
  10. LPARAM lParam; // Other user data...
  11. } ORDERINFO, * PORDERINFO;
  12. // see shellp.h for ORDERITEM definition
  13. typedef void (*LPFNORDERMERGENOMATCH)(LPVOID pvParam, LPCITEMIDLIST pidl);
  14. int CALLBACK OrderItem_Compare(LPVOID pv1, LPVOID pv2, LPARAM lParam);
  15. LPVOID CALLBACK OrderItem_Merge(UINT uMsg, LPVOID pvDest, LPVOID pvSrc, LPARAM lParam);
  16. void OrderList_Merge(HDPA hdpaNew, HDPA hdpaOld, int iInsertPos, LPARAM lParam,
  17. LPFNORDERMERGENOMATCH pfn, LPVOID pvParam);
  18. void OrderList_Reorder(HDPA hdpa);
  19. HDPA OrderList_Clone(HDPA hdpa);
  20. PORDERITEM OrderItem_Create(LPITEMIDLIST pidl, int nOrder);
  21. void OrderList_Destroy(HDPA *hdpa, BOOL fKillPidls = TRUE);
  22. int OrderItem_GetSystemImageListIndex(PORDERITEM poi, IShellFolder *psf, BOOL fUseCache);
  23. DWORD OrderItem_GetFlags(PORDERITEM poi);
  24. void OrderItem_SetFlags(PORDERITEM poi, DWORD dwFlags);
  25. HRESULT OrderList_SaveToStream(IStream* pstm, HDPA hdpa, IShellFolder * psf);
  26. HRESULT OrderList_LoadFromStream(IStream* pstm, HDPA * phdpa, IShellFolder * psfParent);
  27. void OrderItem_Free(PORDERITEM poi, BOOL fKillPidls = TRUE);
  28. BOOL OrderList_Append(HDPA hdpa, LPITEMIDLIST pidl, int nOrder);
  29. HRESULT COrderList_GetOrderList(HDPA * phdpa, LPCITEMIDLIST pidl, IShellFolder * psf);
  30. HRESULT COrderList_SetOrderList(HDPA hdpa, LPCITEMIDLIST pidl, IShellFolder *psf);
  31. #endif