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

    Inheritance
    object
    Structure
    ExtraDataBlock
    SpecialFolderDataBlock
    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 SpecialFolderDataBlock : ExtraDataBlock

    Constructors

    | Edit this page View Source

    SpecialFolderDataBlock()

    Constructor

    Declaration
    public SpecialFolderDataBlock()
    | Edit this page View Source

    SpecialFolderDataBlock(CSIDL, uint)

    Constructor

    Declaration
    public SpecialFolderDataBlock(CSIDL SpecialFolderID, uint Offset)
    Parameters
    Type Name Description
    CSIDL SpecialFolderID

    nsigned integer that specifies the folder integer ID.

    uint Offset

    The offset, in bytes, into the link target IDList.

    Properties

    | Edit this page View Source

    BlockSignature

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

    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 SpecialFolderDataBlock structure. This value MUST be 0x00000010.

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

    MinimumBlockSize

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

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

    Offset

    Offset (4 bytes): A 32-bit, unsigned integer that specifies the location of the ItemID of the first child segment of the IDList specified by SpecialFolderID. This value is the offset, in bytes, into the link target IDList.

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

    SpecialFolderID

    SpecialFolderID (4 bytes): A 32-bit, unsigned integer that specifies the folder integer ID.

    Declaration
    public CSIDL SpecialFolderID { get; set; }
    Property Value
    Type Description
    CSIDL

    Methods

    | Edit this page View Source

    FromByteArray(byte[])

    Create a SpecialFolderDataBlock from a given byte array

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

    The byte array

    Returns
    Type Description
    SpecialFolderDataBlock

    A SpecialFolderDataBlock 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