Доступ к альтернативному представлению реестра
По умолчанию 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-разрядной платформе.