[SHELL32]

- Fix for drive free/total space in My Computer. Patch by Barrett Karish.
CORE-10264

svn path=/trunk/; revision=69374
This commit is contained in:
Giannis Adamopoulos 2015-09-27 15:09:28 +00:00
parent e6b8a983ae
commit 7d4f528f60

View file

@ -669,21 +669,26 @@ HRESULT WINAPI CDrivesFolder::GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, S
switch (iColumn) switch (iColumn)
{ {
case 0: /* name */ case 0: /* name */
hr = GetDisplayNameOf(pidl, hr = GetDisplayNameOf(pidl, SHGDN_NORMAL | SHGDN_INFOLDER, &psd->str);
SHGDN_NORMAL | SHGDN_INFOLDER, &psd->str);
break; break;
case 1: /* type */ case 1: /* type */
_ILGetFileType(pidl, psd->str.cStr, MAX_PATH); _ILGetFileType(pidl, psd->str.cStr, MAX_PATH);
break; break;
case 2: /* total size */ case 2: /* total size */
_ILSimpleGetText (pidl, szPath, MAX_PATH); _ILSimpleGetText (pidl, szPath, MAX_PATH);
GetDiskFreeSpaceExA (szPath, NULL, &ulBytes, NULL); if (GetVolumeInformationA(szPath, NULL, 0, NULL, NULL, NULL, NULL, 0))
StrFormatByteSize64A (ulBytes.QuadPart, psd->str.cStr, MAX_PATH); {
GetDiskFreeSpaceExA(szPath, NULL, &ulBytes, NULL);
StrFormatByteSize64A(ulBytes.QuadPart, psd->str.cStr, MAX_PATH);
}
break; break;
case 3: /* free size */ case 3: /* free size */
_ILSimpleGetText (pidl, szPath, MAX_PATH); _ILSimpleGetText (pidl, szPath, MAX_PATH);
GetDiskFreeSpaceExA (szPath, &ulBytes, NULL, NULL); if (GetVolumeInformationA(szPath, NULL, 0, NULL, NULL, NULL, NULL, 0))
StrFormatByteSize64A (ulBytes.QuadPart, psd->str.cStr, MAX_PATH); {
GetDiskFreeSpaceExA(szPath, &ulBytes, NULL, NULL);
StrFormatByteSize64A(ulBytes.QuadPart, psd->str.cStr, MAX_PATH);
}
break; break;
} }
hr = S_OK; hr = S_OK;