On 22.07.2015 19:01, Niall Douglas wrote:
On 22 Jul 2015 at 10:27, Asbjørn wrote:
As a Windows dev and Boost user, I think the use of the NT kernel API is fine as long as it is very, very clearly stated along with the implications that has, especially for the "future-proofness" of resulting applications.
For example, will a Windows AFIO binary work under Wine or similar?
I would be very surprised if it didn't. I made extensive use of examining Wine and ReactOS sources (at that layer they are the same code) to figure out user mode NT kernel API semantics because most of the code examples on the web use kernel IRP programming, and I needed non-IRP examples to study. Wine and ReactOS have a lovely unit test suite which does exactly what I needed - lots of non-IRP example code patterns to study.
Sounds great, it was my (poor) understanding that Wine was a layer above that (ie just Win32). Still, with temporary solutions/applications having a habbit of becoming permanent solutions[1], it still seems to me that the reliance on NT kernel API rather than just Win32 may stop it to work earlier than a pure Win32 application. Again, I don't view this as a show-stopper at all, just something a new library user needs to be keenly aware of before deciding to use AFIO. [1]: http://it.slashdot.org/comments.pl?sid=7719515&cid=50156045
And if you haven't done so already, you probably should also clearly state in the docs why the Win32 API was insufficient.
I think it's on the first page :)
That'll do just fine :P Cheers - Asbjørn