alphaleonis / AlphaFS

AlphaFS is a .NET library providing more complete Win32 file system functionality to the .NET platform than the standard System.IO classes.
http://alphafs.alphaleonis.com/
MIT License
562 stars 99 forks source link

PhysicalDiskInfo class #455

Open Yomodo opened 6 years ago

Yomodo commented 6 years ago

The PhysicalDiskInfo class provides access to information of a physical disk on the Computer.

Input Physical Disk Number: [0]

Instance: [Alphaleonis.Win32.Device.PhysicalDiskInfo]

#001    DeviceDescription        = [Disk drive]
#002    DevicePath               = [\\?\scsi#disk&ven_vmware&prod_virtual_disk#000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}]
#003    DosDeviceName            = [\Device\Harddisk0\DR0]
#004    LogicalDrives            = [C:, R:]
#005    Name                     = [VMware Virtual disk SCSI Disk Device]
#006    PartitionIndexes         = [4, 1, -1]
#007    PhysicalDeviceObjectName = [\Device\00000079]
#008    StorageAdapterInfo       = [Sas 512 KB]
#009    StorageDeviceInfo        = [Device: 0:0 VMware Virtual disk 1.0]
#010    StoragePartitionInfo     = [Device: 0 PartitionStyle: GPT]
#011    VolumeGuids              = [\\?\Volume{657d4f85-1da2-478a-946a-318c99706878}\, \\?\Volume{1a995bd7-f6a3-4d5c-928f-45cc73a35644}\, \\?\Volume{56b8ce27-7c55-11e4-80d0-806e6f6e6963}\]

    Instance: [Alphaleonis.Win32.Device.StorageAdapterInfo]

    #001    AcceleratedTransfer          = [True]
    #002    AdapterScansDown             = [False]
    #003    AdapterUsesPio               = [False]
    #004    BusReportedDeviceDescription = [VMware Virtual disk SCSI Disk Device]
    #005    BusType                      = [Sas]
    #006    BusVersion                   = [2.0]
    #007    CommandQueueing              = [True]
    #008    DeviceNumber                 = [0]
    #009    MaximumTransferBytes         = [524.288]
    #010    MaximumTransferBytesUnitSize = [512 KB]

    Instance: [Alphaleonis.Win32.Device.StorageDeviceInfo]

    #001    BusType           = [Sas]
    #002    CommandQueueing   = [True]
    #003    DeviceNumber      = [0]
    #004    DeviceType        = [Disk]
    #005    PartitionNumber   = [0]
    #006    ProductId         = [Virtual disk]
    #007    ProductRevision   = [1.0]
    #008    RemovableMedia    = [False]
    #009    SerialNumber      = [6000c299ad1a9b6c80e3d42d3f441136]
    #010    TotalSize         = [107.374.182.400]
    #011    TotalSizeUnitSize = [100 GB]
    #012    VendorId          = [VMware]

    Instance: [Alphaleonis.Win32.Device.StoragePartitionInfo]

    #001    DeviceNumber            = [0]
    #002    GptDiskId               = [21251467-17c9-408f-bdcb-3a0f4d02eb20]
    #003    GptMaxPartitionCount    = [128]
    #004    GptPartitionInfo        = [Basic data partition PlatformRequired, NoDriveLetter, EFI system partition NoDriveLetter, Microsoft reserved partition NoDriveLetter, Basic data partition None]
    #005    GptStartingUsableOffset = [17.408]
    #006    GptUsableLength         = [107.374.148.096]
    #007    GptUsableLengthUnitSize = [100 GB]
    #008    MbrPartitionInfo        = [NULL]
    #009    MbrSignature            = [556.078.183]
    #010    MediaType               = [FixedMedia]
    #011    OnDynamicDisk           = [False]
    #012    PartitionCount          = [4]
    #013    PartitionStyle          = [Gpt]
    #014    TotalSize               = [107.374.182.400]
    #015    TotalSizeUnitSize       = [100 GB]

    Instance: [Alphaleonis.Win32.Device.StorageGptPartitionInfo]

    #001    Attributes              = [PlatformRequired, NoDriveLetter]
    #002    Description             = [Basic data partition]
    #003    PartitionId             = [1a995bd7-f6a3-4d5c-928f-45cc73a35644]
    #004    PartitionLength         = [314.572.800]
    #005    PartitionLengthUnitSize = [300 MB]
    #006    PartitionNumber         = [1]
    #007    PartitionType           = [MsftRecovery]
    #008    RewritePartition        = [False]
    #009    StartingOffset          = [1.048.576]

    Instance: [Alphaleonis.Win32.Device.StorageGptPartitionInfo]

    #001    Attributes              = [NoDriveLetter]
    #002    Description             = [EFI system partition]
    #003    PartitionId             = [7076fbc8-a77a-4e44-8160-8737c2a86bf1]
    #004    PartitionLength         = [104.857.600]
    #005    PartitionLengthUnitSize = [100 MB]
    #006    PartitionNumber         = [2]
    #007    PartitionType           = [EfiSystem]
    #008    RewritePartition        = [False]
    #009    StartingOffset          = [315.621.376]

    Instance: [Alphaleonis.Win32.Device.StorageGptPartitionInfo]

    #001    Attributes              = [NoDriveLetter]
    #002    Description             = [Microsoft reserved partition]
    #003    PartitionId             = [a7e2690f-dc1d-4f7d-99b8-32b347ce5e1a]
    #004    PartitionLength         = [134.217.728]
    #005    PartitionLengthUnitSize = [128 MB]
    #006    PartitionNumber         = [3]
    #007    PartitionType           = [MsftReserved]
    #008    RewritePartition        = [False]
    #009    StartingOffset          = [420.478.976]

    Instance: [Alphaleonis.Win32.Device.StorageGptPartitionInfo]

    #001    Attributes              = [None]
    #002    Description             = [Basic data partition]
    #003    PartitionId             = [657d4f85-1da2-478a-946a-318c99706878]
    #004    PartitionLength         = [106.817.388.544]
    #005    PartitionLengthUnitSize = [99,48 GB]
    #006    PartitionNumber         = [4]
    #007    PartitionType           = [BasicData]
    #008    RewritePartition        = [False]
    #009    StartingOffset          = [554.696.704]
alphaleonis commented 5 years ago

@Yomodo is there still work to do on this or how are things looking?

Yomodo commented 5 years ago

The class is functional. Only thing left to do is process you review recommendations.

AlanRLindsay commented 5 years ago

I would like to try out this code. How can I?