X>Возможен ли вызов ZwQueryKey в пользовательском режиме? Или только в режиме ядра?
А вы посмотрите экспорты ntdll и узнаете. Там функции — парами Nt и Zw. В ядре префикс — имеет большое значение, в ring3 это псевдонимы. Я для ring3 использовал бы вызовы с префиксом Nt, хотя это вкусовой момент.