Beispiel #1
0
 /// <summary>
 /// Function will calculate/read 'Disk geometry' for provided <see cref="SystemVolume"/>
 /// </summary>
 /// <param name="device"><see cref="SystemVolume"/> to query</param>
 /// <returns>Disk geometry information</returns>
 internal virtual DISK_GEOMETRY_EX GetDriveGeometry(DeviceHandle device)
 {
     DeviceIoControl<DISK_GEOMETRY_EX> deviceControl = new DeviceIoControl<DISK_GEOMETRY_EX>();
     return deviceControl.GetDiskGeometryEx(device);
 }
Beispiel #2
0
 /// <summary>
 /// Retrieves the device type, device number, and, for a partitionable device, the partition number of a device.
 /// </summary>
 /// <param name="device"><see cref="SystemVolume"/> to query</param>
 /// <returns><see cref="STORAGE_DEVICE_NUMBER"/> structure</returns>
 internal virtual STORAGE_DEVICE_NUMBER GetDeviceNumber(DeviceHandle device)
 {
     DeviceIoControl<STORAGE_DEVICE_NUMBER> deviceControl = new DeviceIoControl<STORAGE_DEVICE_NUMBER>();
     return deviceControl.GetDataForDevice(device, IoControlCode.IOCTL_STORAGE_GET_DEVICE_NUMBER);
 }