mirror of
https://github.com/reactos/reactos.git
synced 2024-08-28 14:18:41 +00:00
Sync with trunk rev.61914 for BaseVdm fixes.
svn path=/branches/ntvdm/; revision=61915
This commit is contained in:
parent
90df0b6d52
commit
b429303250
|
@ -2378,7 +2378,7 @@ CreateProcessInternalW(IN HANDLE hUserToken,
|
||||||
ANSI_STRING VdmAnsiEnv;
|
ANSI_STRING VdmAnsiEnv;
|
||||||
UNICODE_STRING VdmString, VdmUnicodeEnv;
|
UNICODE_STRING VdmString, VdmUnicodeEnv;
|
||||||
BOOLEAN IsWowApp;
|
BOOLEAN IsWowApp;
|
||||||
PBASE_CHECK_VDM VdmMsg;
|
PBASE_CHECK_VDM CheckVdmMsg;
|
||||||
|
|
||||||
/* Zero out the initial core variables and handles */
|
/* Zero out the initial core variables and handles */
|
||||||
QuerySection = FALSE;
|
QuerySection = FALSE;
|
||||||
|
@ -2433,7 +2433,7 @@ CreateProcessInternalW(IN HANDLE hUserToken,
|
||||||
|
|
||||||
/* Set message structures */
|
/* Set message structures */
|
||||||
CreateProcessMsg = &CsrMsg.Data.CreateProcessRequest;
|
CreateProcessMsg = &CsrMsg.Data.CreateProcessRequest;
|
||||||
VdmMsg = &CsrMsg.Data.CheckVDMRequest;
|
CheckVdmMsg = &CsrMsg.Data.CheckVDMRequest;
|
||||||
|
|
||||||
/* Clear the more complex structures by zeroing out their entire memory */
|
/* Clear the more complex structures by zeroing out their entire memory */
|
||||||
RtlZeroMemory(&Context, sizeof(Context));
|
RtlZeroMemory(&Context, sizeof(Context));
|
||||||
|
@ -3206,7 +3206,7 @@ StartScan:
|
||||||
lpCommandLine,
|
lpCommandLine,
|
||||||
lpCurrentDirectory,
|
lpCurrentDirectory,
|
||||||
&VdmAnsiEnv,
|
&VdmAnsiEnv,
|
||||||
(PCSR_API_MESSAGE)VdmMsg,
|
&CsrMsg,
|
||||||
&VdmTask,
|
&VdmTask,
|
||||||
dwCreationFlags,
|
dwCreationFlags,
|
||||||
&StartupInfo,
|
&StartupInfo,
|
||||||
|
@ -3232,9 +3232,9 @@ StartScan:
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check which VDM state we're currently in */
|
/* Check which VDM state we're currently in */
|
||||||
switch (VdmMsg->VDMState & (VDM_NOT_LOADED |
|
switch (CheckVdmMsg->VDMState & (VDM_NOT_LOADED |
|
||||||
VDM_NOT_READY |
|
VDM_NOT_READY |
|
||||||
VDM_READY))
|
VDM_READY))
|
||||||
{
|
{
|
||||||
case VDM_NOT_LOADED:
|
case VDM_NOT_LOADED:
|
||||||
/* VDM is not fully loaded, so not that much to undo */
|
/* VDM is not fully loaded, so not that much to undo */
|
||||||
|
@ -3274,7 +3274,7 @@ StartScan:
|
||||||
VdmUndoLevel = VDM_UNDO_REUSE;
|
VdmUndoLevel = VDM_UNDO_REUSE;
|
||||||
|
|
||||||
/* Check if CSRSS wants us to wait on VDM */
|
/* Check if CSRSS wants us to wait on VDM */
|
||||||
VdmWaitObject = VdmMsg->WaitObjectForParent;
|
VdmWaitObject = CheckVdmMsg->WaitObjectForParent;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VDM_NOT_READY:
|
case VDM_NOT_READY:
|
||||||
|
@ -3343,7 +3343,7 @@ StartScan:
|
||||||
lpCommandLine,
|
lpCommandLine,
|
||||||
lpCurrentDirectory,
|
lpCurrentDirectory,
|
||||||
&VdmAnsiEnv,
|
&VdmAnsiEnv,
|
||||||
(PCSR_API_MESSAGE)VdmMsg,
|
&CsrMsg,
|
||||||
&VdmTask,
|
&VdmTask,
|
||||||
dwCreationFlags,
|
dwCreationFlags,
|
||||||
&StartupInfo,
|
&StartupInfo,
|
||||||
|
@ -3358,9 +3358,9 @@ StartScan:
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Handle possible VDM states */
|
/* Handle possible VDM states */
|
||||||
switch (VdmMsg->VDMState & (VDM_NOT_LOADED |
|
switch (CheckVdmMsg->VDMState & (VDM_NOT_LOADED |
|
||||||
VDM_NOT_READY |
|
VDM_NOT_READY |
|
||||||
VDM_READY))
|
VDM_READY))
|
||||||
{
|
{
|
||||||
case VDM_NOT_LOADED:
|
case VDM_NOT_LOADED:
|
||||||
/* If VDM is not loaded, we'll do a partial undo */
|
/* If VDM is not loaded, we'll do a partial undo */
|
||||||
|
@ -3397,7 +3397,7 @@ StartScan:
|
||||||
VdmUndoLevel = VDM_UNDO_REUSE;
|
VdmUndoLevel = VDM_UNDO_REUSE;
|
||||||
|
|
||||||
/* Check if CSRSS wants us to wait on VDM */
|
/* Check if CSRSS wants us to wait on VDM */
|
||||||
VdmWaitObject = VdmMsg->WaitObjectForParent;
|
VdmWaitObject = CheckVdmMsg->WaitObjectForParent;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VDM_NOT_READY:
|
case VDM_NOT_READY:
|
||||||
|
@ -4254,7 +4254,7 @@ StartScan:
|
||||||
{
|
{
|
||||||
/* IA32, IA64 and AMD64 are supported in Server 2003 */
|
/* IA32, IA64 and AMD64 are supported in Server 2003 */
|
||||||
case IMAGE_FILE_MACHINE_I386:
|
case IMAGE_FILE_MACHINE_I386:
|
||||||
CreateProcessMsg->ProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL;
|
CreateProcessMsg->ProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL;
|
||||||
break;
|
break;
|
||||||
case IMAGE_FILE_MACHINE_IA64:
|
case IMAGE_FILE_MACHINE_IA64:
|
||||||
CreateProcessMsg->ProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64;
|
CreateProcessMsg->ProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64;
|
||||||
|
|
|
@ -71,7 +71,7 @@ BaseCheckVDM(IN ULONG BinaryType,
|
||||||
IN PCWCH CommandLine,
|
IN PCWCH CommandLine,
|
||||||
IN PCWCH CurrentDirectory,
|
IN PCWCH CurrentDirectory,
|
||||||
IN PANSI_STRING AnsiEnvironment,
|
IN PANSI_STRING AnsiEnvironment,
|
||||||
IN PCSR_API_MESSAGE ApiMessage,
|
IN PBASE_API_MESSAGE ApiMessage,
|
||||||
IN OUT PULONG iTask,
|
IN OUT PULONG iTask,
|
||||||
IN DWORD CreationFlags,
|
IN DWORD CreationFlags,
|
||||||
IN LPSTARTUPINFOW StartupInfo,
|
IN LPSTARTUPINFOW StartupInfo,
|
||||||
|
|
|
@ -127,7 +127,7 @@ BaseCheckVDM(
|
||||||
IN PCWCH CommandLine,
|
IN PCWCH CommandLine,
|
||||||
IN PCWCH CurrentDirectory,
|
IN PCWCH CurrentDirectory,
|
||||||
IN PANSI_STRING AnsiEnvironment,
|
IN PANSI_STRING AnsiEnvironment,
|
||||||
IN PCSR_API_MESSAGE ApiMessage,
|
IN PBASE_API_MESSAGE ApiMessage,
|
||||||
IN OUT PULONG iTask,
|
IN OUT PULONG iTask,
|
||||||
IN DWORD CreationFlags,
|
IN DWORD CreationFlags,
|
||||||
IN LPSTARTUPINFOW StartupInfo,
|
IN LPSTARTUPINFOW StartupInfo,
|
||||||
|
|
Loading…
Reference in a new issue