Subject: Re: [boost] [iostreams]mapped_file bug on Win32?
From: eg (egoots_at_[hidden])
Date: 2010-02-22 13:17:02
On 2/21/2010 11:05 PM, eg wrote:
>> Shortly thereafter is a call to SetFilePointer. The docs say that the
>> proper way to check for an error from SetFilePointer is to compare its
>> return value to INVALID_SET_VALUE_POINTER.
> According to the docs... that seems to only be true if the 3rd parameter
> is NULL.
> "If function succeeds and lpDistanceToMoveHigh is not NULL, the return
> value is the low-order DWORD of the new file pointer and
> lpDistanceToMoveHigh contains the high order DWORD of the new file
Oops... I forgot to add the next line in the quote, which makes my point
"If the function fails, the return value is INVALID_SET_FILE_POINTER. To
get extended error information, call GetLastError."
I was just trying to point out there is a case in which GetLastError()
should be called.
The remarks section shows sample code such as the following:
// Try to move hFile file pointer a huge distance
DWORD dwPtrLow = SetFilePointer( hFile,
// Test for failure
if ( dwPtrLow == INVALID_SET_FILE_POINTER &&
GetLastError() != NO_ERROR )
// Deal with failure
// . . .
} // End of error handler
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk