Как я могу сделать вызовы IOCTL от водителя к другому водителю (не в том же стеке) (на окнах)
Я хочу сделать вызов IOCTL от драйвера к другому, который полностью отличается (не в том же стеке)
Я проверил в сети, но они говорят только о том, как отправить IOCTL на более низкий драйвер, но это не мой случай.
PS: оба драйвера засвидетельствованы мной, поэтому я могу создать объект устройства во втором драйвере, но как я могу с ним связаться (я не могу делать вызовы DeviceIOControl из ядра)
Спасибо!
1 ответ
Решение
Это не сильно отличается от отправки IOCTL из пользовательского пространства. Просто используйте ZwOpenFile, чтобы получить дескриптор вашего устройства, и ZwDeviceIoControlFile, чтобы отправить IOCTL. И не забудьте установить атрибут OBJ_KERNEL_HANDLE для дескриптора.