Запрос NDIS OID из пользовательского режима
Написание драйвера NDIS 5.1 для WinXPe. В дополнение к обычным функциям отправки / получения NDIS, драйвер также должен сделать некоторые дискретные значения IO доступными для пользовательских процессов, предположительно через набор пользовательских OID. Информация в Интернете показывает, что IOCTL_NDISUIO_OPEN_DEVICE, тогда IOCTL_NDISUIO_QUERY_OID_VALUE будет идеальным, но эти функции, по-видимому, ограничены Windows CE, а не WinXPe. CreateFile для "\\.\\NdisUio" завершается успешно, но IOCTL_NDISUIO_OPEN_DEVICE завершается ошибкой с кодом (50) "запрос не поддерживается". Кроме того, мне пришлось обмануть, чтобы добавить nuiouser.h в мой проект, потому что он недоступен с обычным SDK. WMI, похоже, не помогает, поскольку WMI поддерживает только "стандартные" параметры, а не пользовательские параметры.
Я считаю, что при необходимости я могу реализовать IoCreateDevice и IoCreateSymbolicLink в своем драйвере NDIS, а затем сделать пользовательские IOCTL доступными для пользовательских процессов. Но я бы предпочел пойти по маршруту OID, если это возможно.
Может ли пользовательский процесс WinXPe выполнить запрос OID NDIS?
1 ответ
Файлы MOF, интегрированные с драйвером SYS, позволяют подключаться к системе WMI и, таким образом, получать доступ к данным OID.