/** @internalComponent */ void CCachedDriveInfo::ConstructL(RFs& aFs) { // Goes through each drive, and stores whether or not it is available, // the drive's attributes, and the drive's media attributes for (TDriveUnit drive(EDriveZ); drive >= EDriveA; drive = TInt(drive) - 1) { ASSERT(aFs.IsValidDrive(drive)); TDriveInfo driveInfo; User::LeaveIfError(aFs.Drive(driveInfo, drive)); iDriveAndMediaAttributes[drive].iDriveAttributes = driveInfo.iDriveAtt; iDriveAndMediaAttributes[drive].iMediaAttributes = driveInfo.iMediaAtt; iDriveAndMediaAttributes[drive].iMediaType = driveInfo.iType; } }