Поделиться через


Доступ к альтернативному представлению реестра

По умолчанию 32-разрядное приложение, работающее в WOW64, обращается к 32-разрядному представлению реестра, а 64-разрядное приложение обращается к 64-разрядному представлению реестра. Следующие флаги позволяют 32-разрядным приложениям получать доступ к перенаправленным ключам в 64-разрядном представлении реестра, а 64-разрядным приложениям — к перенаправленным ключам в 32-разрядном представлении реестра. Эти флаги не влияют на общие разделы реестра. Дополнительные сведения см. в разделе "Ключи реестра, затронутые WOW64" .

Имя флага Ценность Описание
KEY_WOW64_64KEY 0x0100 Доступ к 64-разрядному ключу из 32-разрядного или 64-разрядного приложения.
KEY_WOW64_32KEY 0x0200 Доступ к 32-разрядному ключу из 32-разрядного или 64-разрядного приложения.
Windows 10 в ARM: Это относится к 32-разрядному представлению реестра ARM для 32-разрядных процессов ARM и 32-разрядного представления реестра x86 для 32-разрядных и 64-разрядных процессов ARM64.

Эти флаги можно указать в параметре samDesired следующих функций реестра:

Можно указать либо KEY_WOW64_32KEY, либо KEY_WOW64_64KEY. Если указаны оба флага, функция завершится ошибкой с кодом ERROR_INVALID_PARAMETER.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Если указаны оба флага, поведение функции не определено.

Функцию RegDeleteKey нельзя использовать для доступа к альтернативному представлению реестра.

Ниже приведены рекомендации по доступу к реестру из приложения.

  • После предоставления доступа приложения к альтернативному представлению реестра с помощью одного из флагов, все последующие операции (создание, удаление или открытие) на дочерних разделах реестра должны явно использовать тот же самый флаг. В противном случае может возникнуть неожиданное поведение.
  • Чтобы точно перечислить все ключи в каждом из представлений, выполните процесс в два прохода. Первый проход должен использовать дескриптор, открытый с помощью одного из флагов, а другой проход должен использовать дескриптор, открытый с помощью другого флага.

Заметка

Зарезервированы ключи Wow6432Node и WowAA32Node. Для совместимости приложения не должны использовать эти ключи напрямую.

Сведения о доступе к альтернативному представлению реестра с помощью WMI см. в запрос данных WMI на 64-разрядной платформе.

перенаправитель реестра

отражение реестра