• Api Documentation
  • Source Code
Search Results for

    Show / Hide Table of Contents
    • SharpShellLink
      • Shortcut
    • SharpShellLink.Const
      • KNOWNFOLDERID
    • SharpShellLink.Flags
      • CSIDL
      • CommonNetworkRelativeLinkFlags
      • DriveType
      • FileAttributesFlags
      • FillAttributes
      • FontFamily
      • FontPitch
      • HotKeyFlags
      • LinkFlags
      • LinkInfoFlags
      • ModifierKeys
      • NetworkProviderType
      • ShowCommand
      • VirtualKeyCodes
    • SharpShellLink.PropertyStore
      • IntegerName
      • PropertyType
      • SerializedPropertyStorage
      • SerializedPropertyStore
      • SerializedPropertyValue
      • StringName
      • Structure
      • TypedPropertyValue
    • SharpShellLink.Structures
      • BlockSignature
      • CommonNetworkRelativeLink
      • ConsoleDataBlock
      • ConsoleFEDataBlock
      • CplLinkTargetIDList
      • DarwinDataBlock
      • EnvironmentVariableDataBlock
      • ExtraData
      • ExtraDataBlock
      • IDList
      • IconEnvironmentDataBlock
      • ItemID
      • KnownFolderDataBlock
      • LinkInfo
      • LinkTargetIDList
      • PropertyStoreDataBlock
      • ShellLinkHeader
      • ShimDataBlock
      • SpecialFolderDataBlock
      • StringData
      • Structure
      • TerminalBlock
      • TrackerDataBlock
      • VistaAndAboveIDListDataBlock
      • VolumeID

    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.

    In this article
    Back to top Copyright (c) 2017 Securify B.V., 2026 Jérémy Ansel