Порождение потока режима ядра - Windows - PullRequest
0 голосов
/ 24 сентября 2011

У меня интенсивная обработка, которую мне нужно выполнить в драйвере устройства с DISPATCH_LEVEL или ниже IRQL.

  • Как создать поток ядра?
  • На каком IRQL он работает? Могу ли я контролировать это?
  • Как это запланировано? Поскольку я думаю с точки зрения пользовательского режима, какой приоритет он имеет?
  • Какие функции ядра можно использовать для обеспечения блокировки / синхронизации?

1 Ответ

3 голосов
/ 25 сентября 2011

вы можете создать системный поток с помощью this . Как вы видите, один из его параметров - это процедура запуска, которая может содержать пользовательский код - в ней вы можете использовать KeRaiseIrql и KeLowerIrql . По умолчанию потоки будут работать в PASSIVE_LEVEL. «Замки, взаимоблокировки и синхронизация» - очень полезный документ, касающийся синхронизации в ядре на Windows, и каждый, кто должен немного поработать с ядром Windows, должен прочитать или хотя бы просмотреть его

...