Select the product you need help with
Использование функции VDMDBG в Windows NT, Windows 2000 и Windows XPКод статьи: 182559 - Список продуктов, к которым относится данная статья. На этой страницеАннотацияДаже при программировании в 32-разрядной среде, бывают случаи, когда работа
с 16-разрядные приложения не требуется. В Windows NT, 16-разрядных приложений
выполнение в рамках виртуальной машины DOS (VDM). VDMDBG.dll содержит множество функций
которые могут пригодиться для работы с 16-разрядными приложениями. Эта библиотека является частью
SDK платформы Microsoft. VDMDBG функции представляют собой удобный способ для перечисления, создания и завершения 16- бит процессы (задачи) в пределах VDM. В данной статье описывается использование этих функции в Microsoft Windows NT, Windows 2000 и Windows XP. Дополнительная информацияПри использовании функции VDMDBG необходимо связать VDMDBG.lib с
в проект. VDMDBG функции, упомянутые ниже, являются только подмножество доступных функции. Тем не менее функции, не упомянутые относятся только в отладчике. Перечисление VDMФункция VDMEnumProcessWOW() предоставляет простой способ для перечисления всех Запуск 16-разрядные задачи VDM. Эти процессы VDM содержат WowExec.exe задачи. VDM DOS не отображаются.Объявление для этой функции выглядит следующим образом: PROCESSENUMPROC объявляется следующим образом: Перечисление 16-разрядные задачиVDMEnumTaskWOW() и VDMEnumTaskWOWEx() можно использовать для перечисления задачи в рамках конкретного VDM. Различие между ними в том, что VDMEnumTaskWOWEx() предоставляет дополнительные сведения о функции обратного вызова. Вы следует использовать только VDM, возвращенный VDMEnumProcessWOW() с этих задач перечисления функций. С помощью VDM DOS не смысла, поскольку каждый DOS приложение работает в собственном VDM.Объявления являются: TASKENUMPROC и TASKENUMPROCEX определены следующим образом: Пример перечисленияСоздание 16-разрядные задачиVDMStartTaskInWOW() создает задачу в VDM. Представляет объявление как выглядит следующим образом:16-Разрядные задачи завершениеДля завершения задачи в пределах VDM вызов VDMTerminateTaskWOW(). В объявление выглядит следующим образом:Этот метод — это грубый эквивалент TerminateProcess() в Win32. Он должен можно избежать, если это возможно. Это не дает задание возможность четко выйти из программы, так что данные могут быть потеряны. В отличие от Win32 WowExec не гарантируется Очистка после прерванные задачи. Это можно оставить VDM поврежден и непригодным для использования. Аккуратно завершить задачу, отправьте его верхнего уровня для WM_CLOSE окно. Заметки, относящейся К 16-разрядные приложения DOSНи одна из функций VDMDBG работы с 16-разрядные приложения DOS. Для перечислить VDM DOS, необходимо использовать другой метод. Во-первых можно использовать VDMEnumProcessWOW() для создания списка всех Win16 VDM и затем перечислить все экземпляры NTVDM.exe, используя другие схемы (например, PSAPI). Любой NTVDM.exe из полного перечисления, которое не было в списке Win16 является DOS VDM. можно создавать и завершение 16-разрядные приложения DOS с CreateProcess() и TerminateProcess().СвойстваКод статьи: 182559 - Последнее изменение :: 4 июня 2011 г. - Редакция: 4.0 Информация в данной статье относится к следующим продуктам.
Переведено с помощью машинного перевода ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода. Эта статья на английском языке:182559
(http://support.microsoft.com/kb/182559/en-us/
)
|




Перейти к началу страницы








