Написал простенький код: Код (Text): CCOUNTED_UNICODE_STRING "\\Registry\\Machine\\SOFTWARE\\CoolApp",sDriverKeyName,4 ... ... ... local oa:OBJECT_ATTRIBUTES local hKey:HANDLE local dwDisposition:DWORD lea ecx,oa InitializeObjectAttributes ecx,offset sDriverKeyName,OBJ_CASE_INSENSITIVE,NULL,NULL invoke ZwCreateKey,addr hKey,KEY_WRITE,addr oa,0,NULL,REG_OPTION_VOLATILE,addr dwDisposition invoke ZwClose, hKey ... После выполнения раздел в реестре не создаётся
Наводит смутные сомнения следующая строка: Я в Zw-функциях не разбираюсь, но чтоб создать раздел реестра, надо сначала открыть нужный улей (HKLM, HKCU и т. д.) функцией RegOpenKey, потом с помощью этой же функции надо последовательно открывать разделы (как каталоги), чтобы добраться до нужного (HANDLE будет все время меняться). И потом с конечным HANDLE с помощью какой-то Reg-функции создать нужный раздел / параметр. Может это и можно сделать указанными Zw-функциями. Но путь что-то странный.
V1lko вызывать надо ZW, а хучат NT ZW делают дополнительные проверки параметров, превиусмоде и т.д. ZW это обёртка для NT
AndreyMust19 Нет, это не устройство, а именно Registry. Реальный Registry имеет всего две ветки в корне - \Registry\Machine и \Registry\User Всякие HKLM, HKCU и прочее - это просто ссылки, а не реальные keys.