Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы открыть дескриптор объекта ключа реестра, выполните следующий процесс, состоящий из двух этапов:
Создайте структуру OBJECT_ATTRIBUTES и инициализируйте ее путем вызова InitializeObjectAttributes. Укажите имя ключа для манипулирования в качестве параметра ObjectName функции InitializeObjectAttributes.
Если вы передаете NULL в качестве параметра RootDirectory функции InitializeObjectAttributes, ObjectName должен быть полным путем к ключу реестра, начиная с \Registry. В противном случае RootDirectory должен быть открытым дескриптором ключа, а ObjectName — это путь относительно этого ключа.
Откройте дескриптор ключевого объекта, вызвав ZwCreateKey или ZwOpenKey, и передайте в него структуру OBJECT_ATTRIBUTES. Если ключ еще не существует, ZwCreateKey создаст ключ, в то время как ZwOpenKey вернет STATUS_OBJECT_NAME_NOT_FOUND.
Вы передаете параметр DesiredAccess в ZwCreateKey или ZwOpenKey, который содержит права доступа, которые вы запрашиваете. Необходимо указать права доступа, разрешающие операции, которые будут выполняться драйвером. В следующей таблице перечислены операции, которые можно выполнить, и соответствующие права доступа для запроса.
| Операция | Необходимое право доступа |
|---|---|
Получите значение ключа реестра. |
KEY_QUERY_VALUE или KEY_READ |
Задайте значение ключа реестра. |
KEY_SET_VALUE или KEY_WRITE |
Прокрутите все вложенные ключи. |
KEY_ENUMERATE_SUB_KEYS (Перечисление подключей) или KEY_READ (Чтение ключа) |
Создайте вложенный ключ. |
KEY_CREATE_SUB_KEY или KEY_WRITE |
Удалите ключ. |
Удалить |
Дополнительные сведения о доступных значениях параметра DesiredAccess см. в ZwCreateKey.
Вы также можете вызывать IoOpenDeviceRegistryKey и IoOpenDeviceInterfaceRegistryKey, чтобы открыть дескрипторы для тех разделов реестра, которые специфичны для устройств и интерфейса устройства соответственно. Дополнительные сведения см. подпрограммы реестра Plug and Play .
Примечание Для вызовов ZwCreateKey, ZwOpenKey, IoOpenDeviceRegistryKeyи IoOpenDeviceInterfaceRegistryKeyуниверсальные права доступа GENERIC_READ и GENERIC_WRITE эквивалентны правам доступа к ключу, KEY_READ и KEY_WRITE, и могут использоваться в качестве замены этих прав доступа для определенных ключей.