M>Необходимо запустить пользовательский процесс из kernel-mode.
Вообще-то, это уже много раз обсуждалось. Думаю, ты плохо искал.
M>Может быть это возможно каким-либо более простым способом?
Боюсь, что нет. Создание процесса полностью из ядра — задача сложная. Поэтому лучше всего попробовать заставить какой-нибудь уже существующий процесс создать новый процесс. Ну а для этого способов не так уж и много — либо зашедулить APC, либо создать пользовательский поток. Вариант с APC требует грязной работы с недокументированными вещами. Создать пользовательский поток из ядра проще, но на Windows 7 есть определённые проблемы с этим. Есть ещё один вариант, вполне стабильный, однако требующий некоторых исследований и внимательности. Нужно экспериментально найти процесс (один из системных), который часто-часто вызывает какую-либо API (например, WaitForSingleObject() или Sleep() или ReadFile(), ну ты понел), похукать эту функцию из ядра (через IAT, например), в перехватчике выполнить CreateProcess(), ну и затем снять перехват. Звучит просто, но на деле будут грабли, внимательнее.