NDIS OID query from user mode

1k Views Asked by At

Writing NDIS 5.1 driver for WinXPe. In addition to normal NDIS send/receive functionality, driver also needs to make some discrete IO values available to user processes, presumably via a set of custom OIDs. Info on web indicates IOCTL_NDISUIO_OPEN_DEVICE then IOCTL_NDISUIO_QUERY_OID_VALUE would be perfect, but these functions appear to be limited to Windows CE and not WinXPe. CreateFile to "\\.\\NdisUio" succeeds, but IOCTL_NDISUIO_OPEN_DEVICE fails with code (50) "the request is not supported". Additionally, I had to cheat just to get nuiouser.h into my project because it's not available with the regular SDK. WMI does not appear to help, because WMI appears to only support "standard" parameters, not custom parameters.

If necessary, I believe I can implement IoCreateDevice and IoCreateSymbolicLink in my NDIS driver, then making custom IOCTLs available to user processes. But I'd rather go the OID route if possible.

Can a WinXPe user process perform an NDIS OID query?

1

There are 1 best solutions below

0
On

MOF files integrated with the driver SYS permit linkage into WMI system and thus access to OID data.