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

WOW64 — это эмулятор x86, который позволяет 32-разрядным приложениям Windows легко работать в 64-разрядной версии Windows. Это позволяет 32-разрядным (x86) приложениям Windows легко работать в 64-разрядной версии (x64) Windows, а также для 32-разрядных (x86) и 32-разрядных (ARM) приложений Windows для эффективного выполнения в 64-разрядной (ARM64) Windows. 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.

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