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.
Inherited Members
Namespace: SharpShellLink.Structures
Assembly: SharpShellLink.dll
Syntax
public class TrackerDataBlock : ExtraDataBlock
Constructors
| Edit this page View SourceTrackerDataBlock()
Constructor
Declaration
public TrackerDataBlock()
Properties
| Edit this page View SourceBlockSignature
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
| Edit this page View SourceBlockSize
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
| Edit this page View SourceDroid
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[] |
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[] |
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 |
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 |
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
| Edit this page View SourceVersion
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 SourceFromByteArray(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 |
GetBytes()
Convert the Structure to a byte array
Declaration
public override byte[] GetBytes()
Returns
| Type | Description |
|---|---|
| byte[] | Byte array representation of the Structure |
Overrides
| Edit this page View SourceToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string | A string that represents the current object. |