About half of our code prints GetLastError() using %d after casting it
to int (actually, about half of that half uses %i, another thing to sort
out, perhaps), and the other half uses %lu without casting. I gather
from online documentation that GetLastError() returns DWORD, which
appears to be unsigned 32 bits. So using %lu appears to be more
correct. Any arguments against standardizing on %lu?
Secondly, it might also be good if we could standardize on printing
actual message: error code %lu
instead of just
actual message: %lu
Thirdly, why are we not trying to print a textual message?