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