V>Кстати. Я пытался сделать нечто похожее, обойдясь user-mode, через CreateRemoteThread. Почти получилось, не смог обработать только процесс System. Верно ли я понимаю, что kernel-mode драйвер нужен именно для него, а из user-mode с ним никак не совладать?
Никак. Драйвер нужен чтобы преодолеть зависание NtQueryObject на получении имен пайпов, открытых для синхронного доступа и которые имеют pending операции чтения/записи. Все сервисы имеют такие пайпы для коммуникации с SCM.