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


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

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

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

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