Если приложению необходимо обмениваться данными с базовым драйвером через IOCTL, я знаю, что приложение и драйвер могут определить общую структуру для хранения данных и передавать ее в двух направлениях.Однако недавно я заметил, что некоторые приложения / драйверы не используют эту парадигму.Вместо этого они передают строковое повторное представление данных и позволяют драйверу анализировать строку для получения каждого файла данных.
Я чувствую, что это неправильный выбор, например, анализатор строк может замедлить драйвер, который должен быть быстрым в ядре.
Может кто-нибудь сравнить эти два подхода и дать плюсы и минусы?Спасибо.