Niall’s virtual diary archives – Monday 9th September 2013

by . Last updated .

Monday 9th September 2013: 3.51pm. Link shared: https://ci.nedprod.com/job/Boost.AFIO%20Test%20WinXP%20VS2010/95/testReport/Boost.AFIO/libs_afio_test_tests_async_io_lstat_works/async_io_lstat_works/

Pushed directory enumeration to AFIO last night, and the CI reports my direct NT kernel implementation of lstat() doesn't work on Windows XP due to this wonderful demonstration of my excellent error handling https://ci.nedprod.com/job/Boost.AFIO%20Test%20WinXP%20VS2010/95/testReport/Boost.AFIO/libs_afio_test_tests_async_io_lstat_works/async_io_lstat_works/.

As you can see in the CI's test failure report, the error report says "The specified information class is not a valid information class for the specified object" at line 788 of my lstat() implementation which corresponds to a query for FILE_FS_SECTOR_SIZE_INFORMATION which it turns out, correctly, is a Windows 7 or later only API providing support for 4Kb sector sized storage (http://msdn.microsoft.com/en-us/library/windows/desktop/hh848035(v=vs.85).aspx).

This raises a question: what should I do instead on Windows XP? As far as I know XP assumes a 512 byte sector size throughout, so I guess I'll just hardcode that value if the above API fetch fails ... other than that minor gotcha, the new feature is looking solid.

Mostly just documentation, oodles of it, to go now before we're ready for peer review.

Go back to the archive index Go back to the latest entries

Contact the webmaster: Niall Douglas @ webmaster2<at symbol>nedprod.com (Last updated: 2013-09-09 15:51:20 +0000 UTC)