Пример #1
0
 private async Task <IntPtr> CreateDriveHandle()
 {
     return(await Task.Run(() =>
     {
         var handle = Win32Functions.CreateFile("\\\\.\\" + _driveName + ':', Win32Functions.GENERIC_READ,
                                                Win32Functions.FILE_SHARE_READ, IntPtr.Zero, Win32Functions.OPEN_EXISTING, 0, IntPtr.Zero);
         if (IsValidHandle(handle))
         {
             return handle;
         }
         throw new InvalidOperationException("Drive '" + _driveName + "' is currently opened.");
     }));
 }