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.

44 lines
2.0 KiB

  1. #ifndef FLDSET_H_
  2. #define FLDSET_H_
  3. //
  4. // view priority values
  5. //
  6. // NOTE: left gaps so that we can add more later
  7. //
  8. #define VIEW_PRIORITY_RESTRICTED 0x00000070 // a shell restriction is in place that forces this view to be the one we use
  9. #define VIEW_PRIORITY_CACHEHIT 0x00000050 // we have registry info for the view, so the user has been there before
  10. #define VIEW_PRIORITY_STALECACHEHIT 0x00000045 // we have stale registry info for the view, so we fall back to the "all folders like this" default
  11. #define VIEW_PRIORITY_USEASDEFAULT 0x00000043 // "Use As Default" is more important than shellext, but less than a stale cache
  12. #define VIEW_PRIORITY_SHELLEXT 0x00000040 // next we let the shell extension have its say
  13. #define VIEW_PRIORITY_CACHEMISS 0x00000030 // if we have a cache miss, then we fall back to the "all folders like this" default
  14. #define VIEW_PRIORITY_INHERIT 0x00000020 // then try to inherit the view from the previous window
  15. #define VIEW_PRIORITY_SHELLEXT_ASBACKUP 0x0015 // If classic view state is enabled we want the shell to default to an inheritted view
  16. #define VIEW_PRIORITY_DESPERATE 0x00000010 // just pick the last view that the window supports
  17. #define VIEW_PRIORITY_NONE 0x00000000 // dont have a view yet
  18. typedef struct CShellViews
  19. {
  20. HDPA _dpaViews;
  21. } CShellViews;
  22. void CShellViews_Delete(CShellViews*);
  23. typedef struct tagFolderSetData {
  24. FOLDERSETTINGS _fs;
  25. SHELLVIEWID _vidRestore;
  26. DWORD _dwViewPriority; // one of the VIEW_PRIORITY_* from above
  27. } FOLDERSETDATA, *LPFOLDERSETDATA;
  28. typedef struct tagFolderSetDataBase {
  29. FOLDERSETDATA _fld;
  30. CShellViews _cViews;
  31. UINT _iViewSet;
  32. } FOLDERSETDATABASE, *LPFOLDERSETDATABASE;
  33. HRESULT FileCabinet_CreateViewWindow2(IShellBrowser* psb, FOLDERSETDATABASE* that, IShellView *psvNew,
  34. IShellView *psvOld, RECT *prcView, HWND *phWnd);
  35. BOOL FileCabinet_GetDefaultViewID2(FOLDERSETDATABASE* that, SHELLVIEWID* pvid);
  36. #endif