IOCTL тут не прокатывает
Почему?
Ну вроде как логика получается такая. Отправляю я IOCTL. В драйвере идет обработка в функции, указываемой MajorFunction[IRP_MJ_DEVICE_CONTROL], там все идет на PASSIVE_LEVEL, мне же нужно добраться к буферу, обрабатываемому на более высоком IRQL.
PS: К тому же, видимо, в любом случае придется вдобавок исопльзовать что-то типа очереди, так как при приходе каждого нового пакета буфер затирается, а скорость прихода пакетов может быть выше скорости обработки данных
т.к. пакеты приходят случайно, а механизм этот блокирующий
Что он блокирует?
Ну блокирующим я назвал этот механизм в том смысле, что по умолчанию пока запрос не будет полностью выполнен, функция DeviceIoControl полностью не отработает вроде, т.е. в выходном буфере не окажутся нужные данные. Ведь так? Но тут хотя есть немалая поправка. Рассматривается статус IRP_PENDING. Но это не сюда.