Namespace SharpShellLink.Structures
Classes
CommonNetworkRelativeLink
The CommonNetworkRelativeLink structure specifies information about the network location where a link target is stored, including the mapped drive letter and the UNC path prefix.
ConsoleDataBlock
The ConsoleDataBlock structure specifies the display settings to use when a link target specifies an application that is run in a console window
ConsoleFEDataBlock
The ConsoleFEDataBlock structure specifies the code page to use for displaying text when a link target specifies an application that is run in a console window.
CplLinkTargetIDList
Helper class to create an IDList to a Control Panel item
DarwinDataBlock
The DarwinDataBlock structure specifies an application identifier that can be used instead of a link target IDList to install an application when a shell link is activated.
EnvironmentVariableDataBlock
The EnvironmentVariableDataBlock structure specifies a path to environment variable information when the link target refers to a location that has a corresponding environment variable.
ExtraData
ExtraData refers to a set of structures that convey additional information about a link target. These optional structures can be present in an extra data section that is appended to the basic Shell Link Binary File Format.
ExtraDataBlock
EXTRA_DATA_BLOCK: A structure consisting of any one of the following property data blocks.
CONSOLE_PROPS: A ConsoleDataBlock structure CONSOLE_FE_PROPS: A ConsoleFEDataBlock structure DARWIN_PROPS: A DarwinDataBlock structure ENVIRONMENT_PROPS:An EnvironmentVariableDataBlock structure ICON_ENVIRONMENT_PROPS: An IconEnvironmentDataBlock structure KNOWN_FOLDER_PROPS: A KnownFolderDataBlock structure PROPERTY_STORE_PROPS: A PropertyStoreDataBlock structure SHIM_PROPS: A ShimDataBlock structure SPECIAL_FOLDER_PROPS: A SpecialFolderDataBlock structure TRACKER_PROPS: A TrackerDataBlock structure VISTA_AND_ABOVE_IDLIST_PROPS: A VistaAndAboveIDListDataBlock structure
IDList
The stored IDList structure specifies the format of a persisted item ID list.
IconEnvironmentDataBlock
The IconEnvironmentDataBlock structure specifies the path to an icon. The path is encoded using environment variables, which makes it possible to find the icon across machines where the locations vary but are expressed using environment variables.
ItemID
An ItemID is an element in an IDList structure. The data stored in a given ItemID is defined by the source that corresponds to the location in the target namespace of the preceding ItemIDs. This data uniquely identifies the items in that part of the namespace.
KnownFolderDataBlock
The KnownFolderDataBlock structure specifies the location of a known folder. This data can be used when a link target is a known folder to keep track of the folder so that the link target IDList can be translated when the link is loaded.
LinkInfo
The LinkInfo structure specifies information necessary to resolve a link target if it is not found in its original location. This includes information about the volume that the target was stored on, the mapped drive letter, and a Universal Naming Convention (UNC) form of the path if one existed when the link was created.
LinkTargetIDList
The LinkTargetIDList structure specifies the target of the link. The presence of this optional structure is specified by the HasLinkTargetIDList bit in the ShellLinkHeader
PropertyStoreDataBlock
A PropertyStoreDataBlock structure specifies a set of properties that can be used by applications to store extra data in the shell link.
ShellLinkHeader
The ShellLinkHeader structure contains identification information, timestamps, and flags that specify the presence of optional structures, including LinkTargetIDList, LinkInfo, and StringData.
ShimDataBlock
The ShimDataBlock structure specifies the name of a shim that can be applied when activating a link target.
SpecialFolderDataBlock
The SpecialFolderDataBlock structure specifies the location of a special folder. This data can be used when a link target is a special folder to keep track of the folder, so that the link target IDList can be translated when the link is loaded.
StringData
StringData refers to a set of structures that convey user interface and path identification information. The presence of these optional structures is controlled by LinkFlags in the ShellLinkHeader.
Structure
Abstract Structure class
TerminalBlock
TerminalBlock (4 bytes): A 32-bit, unsigned integer that indicates the end of the extra data section. This value MUST be less than 0x00000004.
TrackerDataBlock
The TrackerDataBlock structure specifies data that can be used to resolve a link target if it is not found in its original location when the link is resolved. This data is passed to the Link Tracking service o find the link target.
VistaAndAboveIDListDataBlock
The VistaAndAboveIDListDataBlock structure specifies an alternate IDList that can be used instead of the LinkTargetIDList structure (section 2.2) on platforms that support it
VolumeID
The VolumeID structure specifies information about the volume that a link target was on when the link was created. This information is useful for resolving the link if the file is not found in its original location.
Enums
BlockSignature
BlockSignature (4 bytes): A 32-bit, unsigned integer that specifies the signature of the ExtraDataBlock extra data section.