Index: src/libchcore/EFileError.h =================================================================== diff -u -N -rd468098a278a0d16c5b700236ea276b9c9677c9f -ra6fac511b0dd40e1c18cab086e0bc5ff5d2bc8d7 --- src/libchcore/EFileError.h (.../EFileError.h) (revision d468098a278a0d16c5b700236ea276b9c9677c9f) +++ src/libchcore/EFileError.h (.../EFileError.h) (revision a6fac511b0dd40e1c18cab086e0bc5ff5d2bc8d7) @@ -33,7 +33,8 @@ eFinalizeError, ///< Problem occurred when tried to finalize file eFastMoveError, ///< Problem occurred when tried to perform fast move operation (that does not involve copying contents) eCreateError, ///< Problem occurred when tried to create the fs object - eCheckForFreeSpace ///< Problem occurred when tried to create the fs object + eCheckForFreeSpace, ///< Problem occurred when tried to create the fs object + eRetrieveFileInfo ///< Error while retrieving file information }; } Index: src/libchcore/TFilesystemFeedbackWrapper.cpp =================================================================== diff -u -N -re8f31b0f922b402878356e130c866c4f3682a7f5 -ra6fac511b0dd40e1c18cab086e0bc5ff5d2bc8d7 --- src/libchcore/TFilesystemFeedbackWrapper.cpp (.../TFilesystemFeedbackWrapper.cpp) (revision e8f31b0f922b402878356e130c866c4f3682a7f5) +++ src/libchcore/TFilesystemFeedbackWrapper.cpp (.../TFilesystemFeedbackWrapper.cpp) (revision a6fac511b0dd40e1c18cab086e0bc5ff5d2bc8d7) @@ -398,7 +398,7 @@ dwLastError = e.GetNativeError(); } - TFeedbackResult frResult = m_spFeedbackHandler->FileError(pathCurrent.ToWString(), TString(), EFileError::eFastMoveError, dwLastError); + TFeedbackResult frResult = m_spFeedbackHandler->FileError(pathCurrent.ToWString(), TString(), EFileError::eRetrieveFileInfo, dwLastError); switch (frResult.GetResult()) { case EFeedbackResult::eResult_Cancel: Index: src/libchcore/TWin32ErrorFormatter.cpp =================================================================== diff -u -N -r045540c818c374806d09742ef3d7a984d8d757d3 -ra6fac511b0dd40e1c18cab086e0bc5ff5d2bc8d7 --- src/libchcore/TWin32ErrorFormatter.cpp (.../TWin32ErrorFormatter.cpp) (revision 045540c818c374806d09742ef3d7a984d8d757d3) +++ src/libchcore/TWin32ErrorFormatter.cpp (.../TWin32ErrorFormatter.cpp) (revision a6fac511b0dd40e1c18cab086e0bc5ff5d2bc8d7) @@ -43,7 +43,11 @@ TString strData; wchar_t* pszBuffer = strData.GetBuffer(dwMaxError); - DWORD dwPos = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE, hModule, dwErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), pszBuffer, dwMaxError - 1, NULL); + DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM; + if (hModule) + dwFlags |= FORMAT_MESSAGE_FROM_HMODULE; + + DWORD dwPos = FormatMessage(dwFlags, hModule, dwErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), pszBuffer, dwMaxError - 1, NULL); if (dwPos == 0xffffffff) { int iPos = 0;