using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace SCBLL.Comm
{
[StructLayout(LayoutKind.Sequential)]
internal struct STORAGE_PROPERTY_QUERY
{
public uint PropertyId;
public uint QueryType;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)]
public byte[] AdditionalParameters;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
internal struct STORAGE_DEVICE_DESCRIPTOR
{
public uint Version;
public uint size;
public byte DeviceType;
public byte DeviceTypeModifier;
public byte RemovableMedia;
public byte CommandQueueing;
public uint VendorIdOffset;
public uint ProductIdOffset;
public uint ProductRevisionOffset;
public uint SerialNumberOffset;
public uint BusType;
public uint RawPropertiesLength;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x1000)]
public byte[] RawDeviceProperties;
}
public class HardDisk
{
[DllImport("kernel32.d