I was wondering what is the purpose/history of the IoCallDriver macro if it is just a simple passthrough to IofCallDriver?
From what I checked it just seems like this was the situation for quite a while, I have confirmed this was also the case at least back in Windows XP as well.
It's a passthrough now, but it might not be at some future point. The three-letter prefixes (like "Iof") designate internal functions whose arguments are not guaranteed to stay the same.
There is zero impact on performance. Just use the macro.