private static IntPtr GetDeviceHandle(int deviceId)
{
// drive to open, eg. \\\\.\\PhysicalDrive0
var device = NativeMethods.CreateFile("\\\\.\\PhysicalDrive" + deviceId, 0, FileShareRead | FileShareWrite, IntPtr.Zero, OpenExisting, 0, IntPtr.Zero);
return device.ToInt32() == -1 ? IntPtr.Zero : device;
}