• 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

    Class 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.

    Inheritance
    object
    Structure
    ExtraDataBlock
    TrackerDataBlock
    Inherited Members
    ExtraDataBlock.ValidateHeaderBlockSignature(ref byte[])
    ExtraDataBlock.Validate(ref byte[], bool)
    Structure.Errors
    Structure.ValidateInputDataSize(int)
    Structure.ValidateHeaderBlockSize(ref byte[], bool)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: SharpShellLink.Structures
    Assembly: SharpShellLink.dll
    Syntax
    public class TrackerDataBlock : ExtraDataBlock

    Constructors

    | Edit this page View Source

    TrackerDataBlock()

    Constructor

    Declaration
    public TrackerDataBlock()

    Properties

    | Edit this page View Source

    BlockSignature

    BlockSignature (4 bytes): A 32-bit, unsigned integer that specifies the signature of the TrackerDataBlock extra data section. This value MUST be 0xA0000003.

    Declaration
    public override BlockSignature BlockSignature { get; }
    Property Value
    Type Description
    BlockSignature
    Overrides
    ExtraDataBlock.BlockSignature
    | Edit this page View Source

    BlockSize

    BlockSize (4 bytes): A 32-bit, unsigned integer that specifies the size of the TrackerDataBlock structure. This value MUST be 0x00000060.

    BUGBUG: Can BlockSize be > 0x60 if Length > 0x58???

    Declaration
    public override uint BlockSize { get; }
    Property Value
    Type Description
    uint
    Overrides
    ExtraDataBlock.BlockSize
    | Edit this page View Source

    Droid

    Droid (32 bytes): Two values in GUID packet representation that are used to find the link target with the Link Tracking service

    Declaration
    public Guid[] Droid { get; set; }
    Property Value
    Type Description
    Guid[]
    | Edit this page View Source

    DroidBirth

    DroidBirth (32 bytes): Two values in GUID packet representation that are used to find the link target with the Link Tracking service

    Declaration
    public Guid[] DroidBirth { get; set; }
    Property Value
    Type Description
    Guid[]
    | Edit this page View Source

    Length

    Length (4 bytes): A 32-bit, unsigned integer. This value MUST be greater than or equal to 0x0000058.

    Declaration
    public uint Length { get; }
    Property Value
    Type Description
    uint
    | Edit this page View Source

    MachineID

    MachineID (variable): A character string, as defined by the system default code page, which specifies the NetBIOS name of the machine where the link target was last known to reside.

    Declaration
    public string MachineID { get; set; }
    Property Value
    Type Description
    string
    | Edit this page View Source

    MinimumBlockSize

    MinimumBlockSize (4 bytes): A 32-bit, unsigned integer that specifies the minimum size of the TrackerDataBlock structure. This value MUST be 0x00000060

    Declaration
    public override uint MinimumBlockSize { get; }
    Property Value
    Type Description
    uint
    Overrides
    Structure.MinimumBlockSize
    | Edit this page View Source

    Version

    Version (4 bytes): A 32-bit, unsigned integer. This value MUST be 0x00000000.

    Declaration
    public uint Version { get; set; }
    Property Value
    Type Description
    uint

    Methods

    | Edit this page View Source

    FromByteArray(byte[])

    Create a TrackerDataBlock from a given byte array

    Declaration
    public static TrackerDataBlock FromByteArray(byte[] ba)
    Parameters
    Type Name Description
    byte[] ba

    The byte array

    Returns
    Type Description
    TrackerDataBlock

    A TrackerDataBlock object

    | Edit this page View Source

    GetBytes()

    Convert the Structure to a byte array

    Declaration
    public override byte[] GetBytes()
    Returns
    Type Description
    byte[]

    Byte array representation of the Structure

    Overrides
    Structure.GetBytes()
    | Edit this page View Source

    ToString()

    Returns a string that represents the current object.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    A string that represents the current object.

    Overrides
    ExtraDataBlock.ToString()
    • Edit this page
    • View Source
    In this article
    Back to top Copyright (c) 2017 Securify B.V., 2026 Jérémy Ansel