Добрый день. Есть несколько вопросов по поводу работы с реестром с помощью native API из r3. 1)Есть код,вызывающий ZwCreateKey для создания нового ключа реестра. Новые подключи в ключе \\Registry\\Machine\\Software создаются и код из вот этой статьи http://www.wasm.ru/article.php?article=drvw2k10 работает нормально. Но стоит попытаться открыть ключ \\Registry\\User\\NewKey например или \\Registry\\Machine\\NewKey получаю STATUS_INVALID_PARAMETER. В чем может быть дело? 2)Почему ключи созданные непосредственным вызовом ZwCreateKey из r3 не видны в regedit и regedt32? Работаю под Windows 7.
Может такого не существует, ты его создал? Незнаю как на Win7, работаю исключительно на ХП, но все должно быть видно. Может криво модифицировали код из статьи, приведите полный код
JCronuz Да,такого не существует. Как раз вызовом ZwCreateKey я и пытаюсь его создать. На счет невидимости ключа созданного этим вызовом была такая инфа http://www.wasm.ru/forum/viewtopic.php?id=26697(#3). Код примерно следующий: Код (Text): // ExpRtlInitUnicodeString и ExpZwCreateKey - так написано потому что экспортируются через GetProcAddress OBJECT_ATTRIBUTES ObjAttributes; UNICODE_STRING ObjName; ExpRtlInitUnicodeString(&ObjName,L"\\Registry\\Machine\\NewKey"); HANDLE KeyHandle; ULONG Buffer = 0; InitializeObjectAttributes(&ObjAttributes, &ObjName, OBJ_CASE_INSENSITIVE, NULL, NULL); NTSTATUS NtResult = ExpZwCreateKey(&KeyHandle, KEY_WRITE, &ObjAttributes, 0, NULL, REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK, &Buffer);
С кодом все нормально . Какая-то прога блокирует запись в реестр в эти ключи. AV не виноват,проверил. Что еще проверить можно?
Partner От этого не зависит ,я проверял. Странно как-то. Все Advapi32шные функи работы с реестром видят эти ключи и нормально с ними работают. А вот почему новые ключи не видны в стандартных редакторах реестра непонятно.