2.1.1 LinkFlags

The LinkFlags structure defines bits that specify which shell link structures are present in the file format after the ShellLinkHeader structure (section 2.1).


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

A A

0

0

0

0

0

Where the bits are defined as:

Value

Description

A

HasLinkTargetIDList

The shell link is saved with an item ID list (IDList). If this bit is set, a LinkTargetIDList structure (section 2.2) MUST follow the ShellLinkHeader. If this bit is not set, this structure MUST NOT be present.

B

HasLinkInfo

The shell link is saved with link information. If this bit is set, a LinkInfo structure (section 2.3) MUST be present. If this bit is not set, this structure MUST NOT be present.

C

HasName

The shell link is saved with a name string. If this bit is set, a NAME_STRING StringData structure (section 2.4) MUST be present. If this bit is not set, this structure MUST NOT be present.

D

HasRelativePath

The shell link is saved with a relative path string. If this bit is set, a RELATIVE_PATH StringData structure (section 2.4) MUST be present. If this bit is not set, this structure MUST NOT be present.

E

HasWorkingDir

The shell link is saved with a working directory string. If this bit is set, a WORKING_DIR StringData structure (section 2.4) MUST be present. If this bit is not set, this structure MUST NOT be present.

F

HasArguments

The shell link is saved with command line arguments. If this bit is set, a COMMAND_LINE_ARGUMENTS StringData structure (section 2.4) MUST be present. If this bit is not set, this structure MUST NOT be present.

G

HasIconLocation

The shell link is saved with an icon location string. If this bit is set, an ICON_LOCATION StringData structure (section 2.4) MUST be present. If this bit is not set, this structure MUST NOT be present.

H

IsUnicode

The shell link contains Unicode encoded strings. This bit SHOULD be set. If this bit is set, the StringData section contains Unicode-encoded strings; otherwise, it contains strings that are encoded using the system default code page.

I

ForceNoLinkInfo

The LinkInfo structure (section 2.3) is ignored.

J

HasExpString

The shell link is saved with an EnvironmentVariableDataBlock (section 2.5.4).

K

RunInSeparateProcess

The target is run in a separate virtual machine when launching a link target that is a 16-bit application.

L

Unused1

A bit that is undefined and MUST be ignored.

M

HasDarwinID

The shell link is saved with a DarwinDataBlock (section 2.5.3).

N

RunAsUser

The application is run as a different user when the target of the shell link is activated.

O

HasExpIcon

The shell link is saved with an IconEnvironmentDataBlock (section 2.5.5).

P

NoPidlAlias

The file system location is represented in the shell namespace when the path to an item is parsed into an IDList.

Q

Unused2

A bit that is undefined and MUST be ignored.

R

RunWithShimLayer

The shell link is saved with a ShimDataBlock (section 2.5.8).

S

ForceNoLinkTrack

The TrackerDataBlock (section 2.5.10) is ignored.

T

EnableTargetMetadata

The shell link attempts to collect target properties and store them in the PropertyStoreDataBlock (section 2.5.7) when the link target is set.

U

DisableLinkPathTracking

The EnvironmentVariableDataBlock is ignored.

V

DisableKnownFolderTracking

The SpecialFolderDataBlock (section 2.5.9) and the KnownFolderDataBlock (section 2.5.6) are ignored when loading the shell link. If this bit is set, these extra data blocks SHOULD NOT be saved when saving the shell link.

W

DisableKnownFolderAlias

If the link has a KnownFolderDataBlock (section 2.5.6), the unaliased form of the known folder IDList SHOULD be used when translating the target IDList at the time that the link is loaded.

X

AllowLinkToLink

Creating a link that references another link is enabled. Otherwise, specifying a link as the target IDList SHOULD NOT be allowed.

Y

UnaliasOnSave

When saving a link for which the target IDList is under a known folder, either the unaliased form of that known folder or the target IDList SHOULD be used.

Z

PreferEnvironmentPath

The target IDList SHOULD NOT be stored; instead, the path specified in the EnvironmentVariableDataBlock (section 2.5.4) SHOULD be used to refer to the target.

AA

KeepLocalIDListForUNCTarget

When the target is a UNC name that refers to a location on a local machine, the local path IDList in the PropertyStoreDataBlock (section 2.5.7) SHOULD be stored, so it can be used when the link is loaded on the local machine.