Как я могу сделать вызовы IOCTL от водителя к другому водителю (не в том же стеке) (на окнах)

Я хочу сделать вызов IOCTL от драйвера к другому, который полностью отличается (не в том же стеке)

Я проверил в сети, но они говорят только о том, как отправить IOCTL на более низкий драйвер, но это не мой случай.

PS: оба драйвера засвидетельствованы мной, поэтому я могу создать объект устройства во втором драйвере, но как я могу с ним связаться (я не могу делать вызовы DeviceIOControl из ядра)

Спасибо!

1 ответ

Решение

Это не сильно отличается от отправки IOCTL из пользовательского пространства. Просто используйте ZwOpenFile, чтобы получить дескриптор вашего устройства, и ZwDeviceIoControlFile, чтобы отправить IOCTL. И не забудьте установить атрибут OBJ_KERNEL_HANDLE для дескриптора.

Другие вопросы по тегам