From 8331d27b2bcfb9e248e6f3ee616a5b97174b872d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Tue, 24 Dec 2013 15:52:31 +0000 Subject: [PATCH 1/1] [NTVDM]: Implement and export VDDTerminateVDM. svn path=/branches/ntvdm/; revision=61374 --- include/ddk/nt_vdd.h | 8 ++++++++ subsystems/ntvdm/dos.c | 1 + subsystems/ntvdm/emulator.c | 8 ++++++++ subsystems/ntvdm/ntvdm.spec | 2 ++ 4 files changed, 19 insertions(+) diff --git a/include/ddk/nt_vdd.h b/include/ddk/nt_vdd.h index 199c6c64fc7..3f3838629b1 100644 --- a/include/ddk/nt_vdd.h +++ b/include/ddk/nt_vdd.h @@ -28,6 +28,14 @@ extern "C" { #endif +/* + * VDM Control + */ + +VOID +WINAPI +VDDTerminateVDM(VOID); + /* * I/O Port services */ diff --git a/subsystems/ntvdm/dos.c b/subsystems/ntvdm/dos.c index c871d3daa4c..e478070abe3 100644 --- a/subsystems/ntvdm/dos.c +++ b/subsystems/ntvdm/dos.c @@ -2572,6 +2572,7 @@ VOID WINAPI DosBreakInterrupt(LPWORD Stack) { UNREFERENCED_PARAMETER(Stack); + /* Stop the VDM */ VdmRunning = FALSE; } diff --git a/subsystems/ntvdm/emulator.c b/subsystems/ntvdm/emulator.c index 71e2741310a..49a52fb908b 100644 --- a/subsystems/ntvdm/emulator.c +++ b/subsystems/ntvdm/emulator.c @@ -181,6 +181,14 @@ VOID EmulatorSetA20(BOOLEAN Enabled) +VOID +WINAPI +VDDTerminateVDM(VOID) +{ + /* Stop the VDM */ + VdmRunning = FALSE; +} + PBYTE WINAPI Sim32pGetVDMPointer(IN ULONG Address, diff --git a/subsystems/ntvdm/ntvdm.spec b/subsystems/ntvdm/ntvdm.spec index 263e5a37e92..ceca023a33d 100644 --- a/subsystems/ntvdm/ntvdm.spec +++ b/subsystems/ntvdm/ntvdm.spec @@ -185,3 +185,5 @@ @ stdcall call_ica_hw_interrupt(long long long) @ stdcall VDDInstallIOHook(long long ptr ptr) @ stdcall VDDDeInstallIOHook(long long ptr) + +@ stdcall VDDTerminateVDM() -- 2.17.1