[PSDK] Add some missing definitions from IShellFolderBand
[reactos.git] / sdk / include / psdk / shlobj.h
index fe01c6a..9f85cb0 100644 (file)
@@ -84,6 +84,21 @@ typedef struct
 DECLARE_HANDLE(HPSXA);
 #endif
 
+typedef enum
+{
+    KF_FLAG_DEFAULT                     = 0x00000000,
+    KF_FLAG_SIMPLE_IDLIST               = 0x00000100,
+    KF_FLAG_NOT_PARENT_RELATIVE         = 0x00000200,
+    KF_FLAG_DEFAULT_PATH                = 0x00000400,
+    KF_FLAG_INIT                        = 0x00000800,
+    KF_FLAG_NO_ALIAS                    = 0x00001000,
+    KF_FLAG_DONT_UNEXPAND               = 0x00002000,
+    KF_FLAG_DONT_VERIFY                 = 0x00004000,
+    KF_FLAG_CREATE                      = 0x00008000,
+    KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000,
+    KF_FLAG_ALIAS_ONLY                  = 0x80000000
+} KNOWN_FOLDER_FLAG;
+
 typedef int GPFIDL_FLAGS;
 
 UINT
@@ -2161,6 +2176,10 @@ HRESULT      WINAPI ILLoadFromStream(_In_ LPSTREAM, _Inout_ LPITEMIDLIST*);
 BOOL         WINAPI ILRemoveLastID(_Inout_opt_ LPITEMIDLIST);
 HRESULT      WINAPI ILSaveToStream(_In_ LPSTREAM, _In_ LPCITEMIDLIST);
 
+static inline BOOL ILIsEmpty(_In_opt_ LPCITEMIDLIST pidl)
+{
+    return !(pidl && pidl->mkid.cb);
+}
 
 #include <poppack.h>
 
@@ -2386,6 +2405,12 @@ DECLARE_INTERFACE_(IDockingWindowSite, IOleWindow)
 
 typedef void (CALLBACK *PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl, LPVOID pvData, LPVOID pvHint, INT iIconIndex, INT iOpenIconIndex);
 
+#define ISFB_MASK_STATE       0x00000001
+#define ISFB_MASK_IDLIST      0x00000010
+
+#define ISFB_STATE_QLINKSMODE 0x00000020
+#define ISFB_STATE_NOSHOWTEXT 0x00000004
+
 #include <pshpack8.h>
 
 typedef struct {
@@ -2418,6 +2443,8 @@ DECLARE_INTERFACE_(IShellFolderBand, IUnknown)
     STDMETHOD(SetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE;
     STDMETHOD(GetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE;
 };
+#undef INTERFACE
+
 
 /*****************************************************************************
  * Control Panel functions