2012-05-24 25 views
0

为WinXPe编写NDIS 5.1驱动程序。除了正常的NDIS发送/接收功能外,驱动程序还需要为用户进程提供一些离散的IO值,大概是通过一组定制的OID。 Web上的信息表示IOCTL_NDISUIO_OPEN_DEVICE,则IOCTL_NDISUIO_QUERY_OID_VALUE将是完美的,但这些函数似乎仅限于Windows CE,而不是WinXPe。 CreateFile为“\\。\\ NdisUio”成功,但IOCTL_NDISUIO_OPEN_DEVICE失败,代码为(50)“请求不受支持”。另外,为了让nuiouser.h进入我的项目,我不得不作弊,因为它在常规SDK中不可用。 WMI似乎没有帮助,因为WMI似乎只支持“标准”参数,而不支持自定义参数。用户模式下的NDIS OID查询

如果有必要,我相信我可以在我的NDIS驱动程序中实现IoCreateDevice和IoCreateSymbolicLink,然后将自定义IOCTL提供给用户进程。但如果可能的话,我宁愿去OID路线。

WinXPe用户进程可以执行NDIS OID查询吗?

+0

@marc_s:看到下面的答案,谢谢你的帮助。 –

回答

0

与驱动程序SYS集成的MOF文件允许链接到WMI系统,从而访问OID数据。