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

    Inheritance
    object
    Structure
    VolumeID
    Inherited Members
    Structure.Errors
    Structure.ValidateInputDataSize(int)
    Structure.ValidateHeaderBlockSize(ref byte[], bool)
    Structure.Validate(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 VolumeID : Structure

    Constructors

    | Edit this page View Source

    VolumeID()

    Constructor

    Declaration
    public VolumeID()
    | Edit this page View Source

    VolumeID(bool)

    Constructor

    Declaration
    public VolumeID(bool IsUnicode)
    Parameters
    Type Name Description
    bool IsUnicode

    When set to true, wide chars will be used

    Properties

    | Edit this page View Source

    Data

    Data (variable): A buffer of data that contains the volume label of the drive as a string defined by the system default code page or Unicode characters, as specified by preceding fields.

    Declaration
    public byte[] Data { get; }
    Property Value
    Type Description
    byte[]
    | Edit this page View Source

    DriveSerialNumber

    DriveSerialNumber (4 bytes): A 32-bit, unsigned integer that specifies the drive serial number of the volume the link target is stored on.

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

    DriveType

    DriveType (4 bytes): A 32-bit, unsigned integer that specifies the type of drive the link target is stored on.

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

    IsUnicode

    When set to true, wide chars will be used

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

    MinimumBlockSize

    headerBlockSize (4 bytes): A 32-bit, unsigned integer that specifies the size of the ExtraDataBlock structure.

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

    VolumeIDSize

    VolumeIDSize (4 bytes): A 32-bit, unsigned integer that specifies the size, in bytes, of this structure. This value MUST be greater than 0x00000010. All offsets specified in this structure MUST be less than this value, and all strings contained in this structure MUST fit within the extent defined by this size.

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

    VolumeLabel

    The volume label of the drive as a string

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

    VolumeLabelOffset

    VolumeLabelOffset (4 bytes): A 32-bit, unsigned integer that specifies the location of a string that contains the volume label of the drive that the link target is stored on. This value is an offset, in bytes, from the start of the VolumeID structure to a NULL-terminated string of characters, defined by the system default code page. The volume label string is located in the Data field of this structure.

    If the value of this field is 0x00000014, it MUST be ignored, and the value of the VolumeLabelOffsetUnicode field MUST be used to locate the volume label string.

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

    VolumeLabelOffsetUnicode

    VolumeLabelOffsetUnicode (4 bytes): An optional, 32-bit, unsigned integer that specifies the location of a string that contains the volume label of the drive that the link target is stored on. This value is an offset, in bytes, from the start of the VolumeID structure to a NULL-terminated string of Unicode characters. The volume label string is located in the Data field of this structure.

    If the value of the VolumeLabelOffset field is not 0x00000014, this field MUST be ignored, and the value of the VolumeLabelOffset field MUST be used to locate the volume label string.

    Declaration
    public uint VolumeLabelOffsetUnicode { get; }
    Property Value
    Type Description
    uint

    Methods

    | Edit this page View Source

    FromByteArray(byte[])

    Create a VolumeID from a given byte array

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

    The byte array

    Returns
    Type Description
    VolumeID

    A VolumeID 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
    Structure.ToString()
    • Edit this page
    • View Source
    In this article
    Back to top Copyright (c) 2017 Securify B.V., 2026 Jérémy Ansel