I picked %08x for a reason in this code--it's far easier to find the relevant error using it than using %u.
Then the tests should consistently use %08x, not a mixture of various formats.
Perhaps. I generally chose a format that matched the "expected" error. Error values like ERROR_INVALID_PARAMETER should be %u--I erroneously use %d, I think--whereas setupapi errors should be %08x. But since the ok output is in exceptional conditions, it might be hard to predict which range of values is more likely, so perhaps consistency is better than trying to be smart about it. I don't have a firm opinion about that. --Juan