[PSDK] Add missing GPFIDL_FLAGS.
[reactos.git] / reactos / sdk / include / psdk / shlobj.h
index 985c9d6..853e30c 100644 (file)
@@ -84,6 +84,8 @@ typedef struct
 DECLARE_HANDLE(HPSXA);
 #endif
 
+typedef int GPFIDL_FLAGS;
+
 UINT
 WINAPI
 SHAddFromPropSheetExtArray(
@@ -250,6 +252,9 @@ PickIconDlg(
 #define             SHUpdateImage WINELIB_NAME_AW(SHUpdateImage)
 int          WINAPI RestartDialog(_In_opt_ HWND, _In_opt_ LPCWSTR, DWORD);
 int          WINAPI RestartDialogEx(_In_opt_ HWND, _In_opt_ LPCWSTR, DWORD, DWORD);
+int          WINAPI DriveType(int);
+int          WINAPI RealDriveType(int, BOOL);
+int          WINAPI IsNetDrive(int);
 BOOL         WINAPI IsUserAnAdmin(void);
 
 #define KF_FLAG_DEFAULT_PATH        0x00000400
@@ -1438,8 +1443,10 @@ typedef enum RESTRICTIONS
        REST_NORESOLVESEARCH,
        REST_NORESOLVETRACK,
        REST_FORCECOPYACLWITHFILE,
-       REST_NOLOGO3CHANNELNOTIFY,
-       REST_NOFORGETSOFTWAREUPDATE,
+#if (NTDDI_VERSION < NTDDI_LONGHORN)
+       REST_NOLOGO3CHANNELNOTIFY       = 0x4000001C,
+#endif
+       REST_NOFORGETSOFTWAREUPDATE     = 0x4000001D,
        REST_NOSETACTIVEDESKTOP,
        REST_NOUPDATEWINDOWS,
        REST_NOCHANGESTARMENU,          /* 0x40000020 */
@@ -1629,13 +1636,16 @@ typedef enum {
     SLDF_FORCE_NO_LINKINFO = 0x00000100,
     SLDF_HAS_EXP_SZ = 0x00000200,
     SLDF_RUN_IN_SEPARATE = 0x00000400,
+#if (NTDDI_VERSION < NTDDI_LONGHORN)
     SLDF_HAS_LOGO3ID = 0x00000800,
+#endif
     SLDF_HAS_DARWINID = 0x00001000,
     SLDF_RUNAS_USER = 0x00002000,
     SLDF_HAS_EXP_ICON_SZ = 0x00004000,
     SLDF_NO_PIDL_ALIAS = 0x00008000,
     SLDF_FORCE_UNCNAME = 0x00010000,
     SLDF_RUN_WITH_SHIMLAYER = 0x00020000,
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
     SLDF_FORCE_NO_LINKTRACK = 0x00040000,
     SLDF_ENABLE_TARGET_METADATA = 0x00080000,
     SLDF_DISABLE_LINK_PATH_TRACKING = 0x00100000,
@@ -1654,6 +1664,7 @@ typedef enum {
 #endif
 #else
     SLDF_VALID = 0x003ff7ff, /* Windows Vista */
+#endif
 #endif
     SLDF_RESERVED = 0x80000000,
 } SHELL_LINK_DATA_FLAGS;
@@ -1664,32 +1675,6 @@ typedef struct tagDATABLOCKHEADER
     DWORD dwSignature;
 } DATABLOCK_HEADER, *LPDATABLOCK_HEADER, *LPDBLIST;
 
-typedef struct {
-    DATABLOCK_HEADER dbh;
-    CHAR szDarwinID[MAX_PATH];
-    WCHAR szwDarwinID[MAX_PATH];
-} EXP_DARWIN_LINK, *LPEXP_DARWIN_LINK;
-
-typedef struct {
-    DWORD cbSize;
-    DWORD dwSignature;
-    CHAR szTarget[MAX_PATH];
-    WCHAR szwTarget[MAX_PATH];
-} EXP_SZ_LINK, *LPEXP_SZ_LINK;
-
-typedef struct {
-    DWORD cbSize;
-    DWORD dwSignature;
-    DWORD idSpecialFolder;
-    DWORD cbOffset;
-} EXP_SPECIAL_FOLDER, *LPEXP_SPECIAL_FOLDER;
-
-typedef struct {
-    DWORD cbSize;
-    DWORD dwSignature;
-    BYTE abPropertyStorage[1];
-} EXP_PROPERTYSTORAGE;
-
 #ifdef LF_FACESIZE
 typedef struct {
     DATABLOCK_HEADER dbh;
@@ -1721,14 +1706,42 @@ typedef struct {
     UINT uCodePage;
 } NT_FE_CONSOLE_PROPS, *LPNT_FE_CONSOLE_PROPS;
 
-#define EXP_SZ_LINK_SIG         0xa0000001 /* EXP_SZ_LINK */
-#define NT_CONSOLE_PROPS_SIG    0xa0000002 /* NT_CONSOLE_PROPS */
-#define NT_FE_CONSOLE_PROPS_SIG 0xa0000004 /* NT_FE_CONSOLE_PROPS */
-#define EXP_SPECIAL_FOLDER_SIG  0xa0000005 /* EXP_SPECIAL_FOLDER */
-#define EXP_DARWIN_ID_SIG       0xa0000006 /* EXP_DARWIN_LINK */
-#define EXP_SZ_ICON_SIG         0xa0000007 /* EXP_SZ_LINK */
-#define EXP_LOGO3_ID_SIG        EXP_SZ_ICON_SIG /* Old SDKs only */
-#define EXP_PROPERTYSTORAGE_SIG 0xa0000009 /* EXP_PROPERTYSTORAGE */
+typedef struct {
+    DWORD cbSize;
+    DWORD dwSignature;
+    CHAR szTarget[MAX_PATH];
+    WCHAR szwTarget[MAX_PATH];
+} EXP_SZ_LINK, *LPEXP_SZ_LINK;
+
+typedef struct {
+    DATABLOCK_HEADER dbh;
+    CHAR szDarwinID[MAX_PATH];
+    WCHAR szwDarwinID[MAX_PATH];
+} EXP_DARWIN_LINK, *LPEXP_DARWIN_LINK;
+
+typedef struct {
+    DWORD cbSize;
+    DWORD dwSignature;
+    DWORD idSpecialFolder;
+    DWORD cbOffset;
+} EXP_SPECIAL_FOLDER, *LPEXP_SPECIAL_FOLDER;
+
+typedef struct {
+    DWORD cbSize;
+    DWORD dwSignature;
+    BYTE abPropertyStorage[1];
+} EXP_PROPERTYSTORAGE;
+
+#define EXP_SZ_LINK_SIG         0xA0000001 /* EXP_SZ_LINK */
+#define NT_CONSOLE_PROPS_SIG    0xA0000002 /* NT_CONSOLE_PROPS */
+#define NT_FE_CONSOLE_PROPS_SIG 0xA0000004 /* NT_FE_CONSOLE_PROPS */
+#define EXP_SPECIAL_FOLDER_SIG  0xA0000005 /* EXP_SPECIAL_FOLDER */
+#define EXP_DARWIN_ID_SIG       0xA0000006 /* EXP_DARWIN_LINK */
+#if (NTDDI_VERSION < NTDDI_LONGHORN)
+#define EXP_LOGO3_ID_SIG        0xA0000007 /* EXP_DARWIN_LINK, for Logo3 / MS Internet Component Download (MSICD) shortcuts; old SDKs only (deprecated) */
+#endif
+#define EXP_SZ_ICON_SIG         0xA0000007 /* EXP_SZ_LINK */
+#define EXP_PROPERTYSTORAGE_SIG 0xA0000009 /* EXP_PROPERTYSTORAGE */
 
 typedef struct _SHChangeDWORDAsIDList {
     USHORT   cb;
@@ -2056,9 +2069,12 @@ BOOL WINAPI WriteCabinetState(_In_ CABINETSTATE *);
 /* PathResolve flags */
 #define PRF_VERIFYEXISTS         0x01
 #define PRF_EXECUTABLE           0x02
-#define PRF_TRYPROGRAMEXTENSIONS 0x03
+#define PRF_TRYPROGRAMEXTENSIONS (PRF_EXECUTABLE | PRF_VERIFYEXISTS)
 #define PRF_FIRSTDIRDEF          0x04
-#define PRF_DONTFINDLINK         0x08
+#define PRF_DONTFINDLNK          0x08 // Used when PRF_TRYPROGRAMEXTENSIONS is specified
+#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
+#define PRF_REQUIREABSOLUTE      0x10
+#endif
 
 VOID WINAPI PathGetShortPath(_Inout_updates_(MAX_PATH) LPWSTR pszPath);
 
@@ -2211,6 +2227,25 @@ CDefFolderMenu_Create2(
   _In_reads_opt_(nKeys) const HKEY *,
   _Outptr_ IContextMenu **);
 
+#define DFM_MERGECONTEXTMENU         1
+#define DFM_INVOKECOMMAND            2
+#define DFM_INVOKECOMMANDEX          12
+#define DFM_GETDEFSTATICID           14
+
+#define DFM_CMD_DELETE          ((UINT)-1)
+#define DFM_CMD_MOVE            ((UINT)-2)
+#define DFM_CMD_COPY            ((UINT)-3)
+#define DFM_CMD_LINK            ((UINT)-4)
+#define DFM_CMD_PROPERTIES      ((UINT)-5)
+#define DFM_CMD_NEWFOLDER       ((UINT)-6)
+#define DFM_CMD_PASTE           ((UINT)-7)
+#define DFM_CMD_VIEWLIST        ((UINT)-8)
+#define DFM_CMD_VIEWDETAILS     ((UINT)-9)
+#define DFM_CMD_PASTELINK       ((UINT)-10)
+#define DFM_CMD_PASTESPECIAL    ((UINT)-11)
+#define DFM_CMD_MODALPROP       ((UINT)-12)
+#define DFM_CMD_RENAME          ((UINT)-13)
+
 /****************************************************************************
  * SHCreateDefaultExtractIcon API
  */