- Add SHELL_LINK_HEADER structure. Update SHELL_LINK_DATA_FLAGS. Patch by Dominik Hornung (dominikhornung at gmx dot de).
CORE-7099

svn path=/trunk/; revision=58880
This commit is contained in:
Thomas Faber 2013-04-28 09:49:09 +00:00
parent 32bc439366
commit 6b3b943c2e
3 changed files with 51 additions and 1 deletions

View file

@ -98,6 +98,7 @@ Abstract:
#define NTDDI_WS08SP3 NTDDI_WIN6SP3
#define NTDDI_WS08SP4 NTDDI_WIN6SP4
#define NTDDI_WIN7 0x06010000
#define NTDDI_WIN8 0x06020000
/* Version Fields in NTDDI_VERSION */
#define OSVERSION_MASK 0xFFFF0000UL

View file

@ -1394,6 +1394,7 @@ typedef struct _SHChangeNotifyEntry
void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
typedef enum {
SLDF_DEFAULT = 0x00000000,
SLDF_HAS_ID_LIST = 0x00000001,
SLDF_HAS_LINK_INFO = 0x00000002,
SLDF_HAS_NAME = 0x00000004,
@ -1414,8 +1415,23 @@ typedef enum {
SLDF_RUN_WITH_SHIMLAYER = 0x00020000,
SLDF_FORCE_NO_LINKTRACK = 0x00040000,
SLDF_ENABLE_TARGET_METADATA = 0x00080000,
SLDF_DISABLE_LINK_PATH_TRACKING = 0x00100000,
SLDF_DISABLE_KNOWNFOLDER_RELATIVE_TRACKING = 0x00200000,
SLDF_VALID = 0x003ff7ff,
#if (NTDDI_VERSION >= NTDDI_WIN7)
SLDF_NO_KF_ALIAS = 0x00400000,
SLDF_ALLOW_LINK_TO_LINK = 0x00800000,
SLDF_UNALIAS_ON_SAVE = 0x01000000,
SLDF_PREFER_ENVIRONMENT_PATH = 0x02000000,
SLDF_KEEP_LOCAL_IDLIST_FOR_UNC_TARGET = 0x04000000,
#if (NTDDI_VERSION >= NTDDI_WIN8)
SLDF_PERSIST_VOLUME_ID_RELATIVE = 0x08000000,
SLDF_VALID = 0x0ffff7ff, /* Windows 8 */
#else
SLDF_VALID = 0x07fff7ff, /* Windows 7 */
#endif
#else
SLDF_VALID = 0x003ff7ff, /* Windows Vista */
#endif
SLDF_RESERVED = 0x80000000,
} SHELL_LINK_DATA_FLAGS;

View file

@ -836,6 +836,39 @@ HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle
#define SHCreateWorkerWindow SHCreateWorkerWindowA
#endif
/*****************************************************************************
* Shell Link
*/
#include <pshpack1.h>
typedef struct tagSHELL_LINK_HEADER
{
/* The size of this structure (always 0x0000004C) */
DWORD dwSize;
/* CLSID = class identifier (always 00021401-0000-0000-C000-000000000046) */
CLSID clsid;
/* Flags (SHELL_LINK_DATA_FLAGS) */
DWORD dwFlags;
/* Informations about the link target: */
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeLow; /* only the least significant 32 bits */
/* The index of an icon (signed?) */
DWORD nIconIndex;
/* The expected window state of an application launched by the link */
DWORD nShowCommand;
/* The keystrokes used to launch the application */
WORD wHotKey;
/* Reserved (must be zero) */
WORD wReserved1;
DWORD dwReserved2;
DWORD dwReserved3;
} SHELL_LINK_HEADER, *LPSHELL_LINK_HEADER;
#include <poppack.h>
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */