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


Запуск 32-разрядных приложений

WOW64 — это эмулятор x86, который позволяет 32-разрядным приложениям windows легко работать в 64-разрядной версии Windows. Это позволяет 32-разрядным приложениям Windows (x86) легко работать в 64-разрядных (x64) Windows, а также для 32-разрядных (x86) и 32-разрядных приложений Windows для работы в 64-разрядной версии Windows (ARM64). WOW64 предоставляется операционной системой и не должен быть явно включен. Дополнительные сведения см. в сведения о реализации WOW64.

Система изолирует 32-разрядные приложения от 64-разрядных приложений, которые включают предотвращение конфликтов файлов и реестра. Поддерживаются консольные, графические интерфейсы и приложения службы. Система обеспечивает взаимодействие между границами 32/64 для таких сценариев, как вырезанные и вставки и COM. Однако 32-разрядные процессы не могут загружать 64-разрядные библиотеки DLL для выполнения, а 64-разрядные процессы не могут загружать 32-разрядные библиотеки DLL для выполнения. Это ограничение не применяется к библиотекам DLL, загруженным в виде файлов данных или файлов ресурсов образа; Дополнительные сведения см. в разделе LoadLibraryEx.

32-разрядное приложение может определить, выполняется ли оно в WOW64, вызвав функцию IsWow64Process (используйте IsWow64Process2 при выборе windows 10). Приложение может получить дополнительные сведения о процессоре с помощью функции GetNativeSystemInfo.

Обратите внимание, что 64-разрядная версия Windows не поддерживает 16-разрядные приложения под управлением Windows. Основная причина заключается в том, что дескриптор имеет 32 важных бита в 64-разрядной версии Windows. Таким образом, дескриптор не может быть усечен и передан в 16-разрядные приложения без потери данных. Попытки запуска 16-разрядных приложений завершаются ошибкой следующей ошибки: ERROR_BAD_EXE_FORMAT.

В этом разделе