- Locked = Private->WinNtThunk->DeviceIoControl (Private->NtHandle, FSCTL_LOCK_VOLUME, NULL, 0, NULL, 0, &BytesReturned, NULL);\r
- if (Locked == 0) {\r
- DEBUG ((EFI_D_INIT, "ReadBlocks: Lock volume failed. (%d)\n", Private->WinNtThunk->GetLastError ()));\r
- Status = WinNtBlockIoError (Private);\r
- goto Done;\r
+ if (Private->DeviceType == EfiWinNtPhysicalDisks) {\r
+ Locked = Private->WinNtThunk->DeviceIoControl (Private->NtHandle, FSCTL_LOCK_VOLUME, NULL, 0, NULL, 0, &BytesReturned, NULL);\r
+ if (Locked == 0) {\r
+ DEBUG ((EFI_D_INIT, "ReadBlocks: Lock volume failed. (%d)\n", Private->WinNtThunk->GetLastError ()));\r
+ Status = WinNtBlockIoError (Private);\r
+ goto Done;\r
+ }\r
+ } else {\r
+ Locked = 0;\r