Home Dashboard Directory Help

CFileStatus cripples 64bit filesize by ETA76


 as Fixed Help for as Fixed

Sign in
to vote
Type: Bug
ID: 283851
Opened: 6/22/2007 7:14:16 AM
Access Restriction: Public
User(s) can reproduce this bug


Just checked the difference between MFC42 and MFC80, both are the same:

BOOL PASCAL CFile::GetStatus(LPCTSTR lpszFileName, CFileStatus& rStatus)

    // get just the low DWORD of the file size
    ASSERT(findFileData.nFileSizeHigh == 0);
    rStatus.m_size = (LONG)findFileData.nFileSizeLow;

But since MFC80 has a CFileStatus.m_size of
ULONGLONG m_size;            // logical size of file in bytes

It should have been changed, when upgrading the struct types.

MSDN also doesn't talk about only using lower 32bits of the filesize
Sign in to post a comment.
Posted by ETA76 on 7/23/2007 at 10:53 AM
Will this also be updated in VC 2005 Sp2 ? Or a newer platform SDK ?
Posted by Microsoft on 7/11/2007 at 9:04 PM
Thanks for reporting this bug. We have now fixed it, and the fix will be available in the final version of Orcas.

Stephan T. Lavavej (stl@microsoft.com)
Visual C++ Libraries Developer
Posted by Microsoft on 7/3/2007 at 1:32 PM
Thanks, eta and sm_sharp. We now have a fix for both the non-static and static member functions.

Stephan T. Lavavej (stl@microsoft.com)
Visual C++ Libraries Developer
Posted by House Sparrow on 7/3/2007 at 3:11 AM
I have also observed this issue when retrieving the CFileStatus of a 9GB file via the CFile::GetStatus method.

An assert error is triggered in Filest.cpp, line 175
Posted by Microsoft on 6/24/2007 at 1:06 AM
Thanks for your feedback. We have reproduced this bug on Visual Studio Codename Orcas Beta1, and we are sending this bug to the appropriate group within the VisualStudio Product Team for triage and resolution.

Thank you,
Visual Studio Product Team.
Posted by Microsoft on 6/23/2007 at 9:29 PM
Thank you for your feedback. We are currently investigating. If this issue is urgent, please call support directly (see http://support.microsoft.com).

Thank you,
Visual Studio Product Team
Sign in to post a workaround.