I hate it when this happens. I’m debugging a Very Weird Problem with an NDIS driver, wherein calling NdisReadConfiguration() even once, with a variety of different test inputs, causes NDIS to break (oddly) every single time, but only on Windows XP SP0. So I searched Google looking for NdisReadConfiguration() docs having to do with Windows XP and found nothing that looks related. Nada on the newsgroups.
The real kicker is that it works fine on the only other platform I’ve tested on so far, Win2k3 sp1. When I trace in with a debugger, NDIS calls RtlQueryRegistryValues(). The args NDIS passes to it are totally, monumentally broken at the point of the call. Yet the original args I am passing to NDIS are fine.
So the question is: whose bug is it? The call looks fine to me, and works on other versions of Windows. It’s not a commonly called API in the grand scheme of things, and this is on an unpatched XP system, so could it really be an OS bug? On the other hand, there are absolutely no reports of anything like this on the Internet. That’s not a good sign.
In the end, I’m sure this will wind up being my bug, but as I sit here working on it on a Friday night, I don’t see how yet. There is, of course, more than one way to skin the cat, but I’m annoyed by this enough at the moment to forge ahead blindly.
Just so I can say I asked: has anyone ever successfully used NdisReadConfiguration() on XP gold?