Being TRUE doesn't mean the device is GPT and has a drive letter. It just
means that it's not a GPT device with GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER
attribute. In short, if TRUE, it means that the device can receive a drive
letter mount point.
This fixes MountMgrNextDriveLetterWorker bailing out for any attempt to
assign a drive letter to a device.
}
/* If we didn't find a drive letter online
- * ensure there's no GPT drive letter nor no drive entry
+ * ensure this is not a no drive entry
+ * by querying GPT attributes & database
*/
if (NextEntry == &(DeviceInformation->SymbolicLinksListHead))
{
- if (GptDriveLetter || HasNoDriveLetterEntry(DeviceInformation->UniqueId))
+ if (!GptDriveLetter || HasNoDriveLetterEntry(DeviceInformation->UniqueId))
{
DriveLetterInfo->DriveLetterWasAssigned = FALSE;
DriveLetterInfo->CurrentDriveLetter = 0;