diff --git a/reactos/base/system/smss/client.c b/reactos/base/system/smss/client.c
index cbed83334e4..257eba93498 100644
--- a/reactos/base/system/smss/client.c
+++ b/reactos/base/system/smss/client.c
@@ -170,6 +170,7 @@ SmBeginClientInitialization (IN PSM_PORT_MESSAGE Request,
PSM_CONNECT_DATA ConnectData = SmpGetConnectData (Request);
ULONG SbApiPortNameSize = SM_CONNECT_DATA_SIZE(*Request);
INT ClientIndex = SM_INVALID_CLIENT_INDEX;
+ HANDLE Process;
DPRINT("SM: %s(%08lx,%08lx) called\n", __FUNCTION__,
@@ -182,26 +183,25 @@ SmBeginClientInitialization (IN PSM_PORT_MESSAGE Request,
if (NULL != SmpClientDirectory.CandidateClient)
{
PROCESS_BASIC_INFORMATION pbi;
+ OBJECT_ATTRIBUTES ObjectAttributes;
RtlZeroMemory (& pbi, sizeof pbi);
- Status = NtQueryInformationProcess (Request->Header.ClientId.UniqueProcess,
+ InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL);
+ Status = NtOpenProcess(&Process,
+ PROCESS_ALL_ACCESS,
+ &ObjectAttributes,
+ &Request->Header.ClientId);
+ ASSERT(NT_SUCCESS(Status));
+ Status = NtQueryInformationProcess (Process,
ProcessBasicInformation,
& pbi,
sizeof pbi,
NULL);
- if (NT_SUCCESS(Status))
+ ASSERT(NT_SUCCESS(Status));
{
SmpClientDirectory.CandidateClient->ServerProcessId =
(ULONG) pbi.UniqueProcessId;
}
- else
- {
- LARGE_INTEGER Fixme;
- Fixme.QuadPart = -50000000;
- DPRINT1("WARNING! UniqueProcess IS A THREAD HANDLE!!!\n");
- NtDelayExecution(FALSE, &Fixme);
- DPRINT1("FIXME!\n");
- }
}
else
{
diff --git a/reactos/baseaddress.rbuild b/reactos/baseaddress.rbuild
index 1ce6adccf37..f9d0896edfc 100644
--- a/reactos/baseaddress.rbuild
+++ b/reactos/baseaddress.rbuild
@@ -47,6 +47,7 @@
+
@@ -92,29 +93,29 @@
-
-
+
+
-
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
diff --git a/reactos/boot/bootdata/hivesft.inf b/reactos/boot/bootdata/hivesft.inf
index 8e244ad2e67..700a121185a 100644
--- a/reactos/boot/bootdata/hivesft.inf
+++ b/reactos/boot/bootdata/hivesft.inf
@@ -737,7 +737,7 @@ HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Tonga Standard Tim
;HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","Shell",0x00020000,"%SystemRoot%\system32\cmd.exe"
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","Shell",0x00020000,"%SystemRoot%\explorer.exe"
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","StartServices",0x00010001,0x00000001
-HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","StartLsass",0x00010001,0x00000000
+HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","StartLsass",0x00010001,0x00000001
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","StartGUI",0x00010001,0x00000000
HKLM,"SOFTWARE\ReactOS\Windows NT\CurrentVersion\Winlogon","Userinit",0x00020000,"%SystemRoot%\system32\userinit.exe"
diff --git a/reactos/dll/win32/lsasrv/lsasrv.c b/reactos/dll/win32/lsasrv/lsasrv.c
index fdefea9a051..3e66250140b 100644
--- a/reactos/dll/win32/lsasrv/lsasrv.c
+++ b/reactos/dll/win32/lsasrv/lsasrv.c
@@ -14,7 +14,7 @@ LsapInitLsa(VOID)
{
HANDLE hEvent;
- DPRINT1("LsapInitLsa() called\n");
+ DPRINT("LsapInitLsa() called\n");
LsarStartRpcServer();
diff --git a/reactos/dll/win32/user32/windows/bitmap.c b/reactos/dll/win32/user32/windows/bitmap.c
index f4ec67e80eb..77562b0f6f7 100644
--- a/reactos/dll/win32/user32/windows/bitmap.c
+++ b/reactos/dll/win32/user32/windows/bitmap.c
@@ -567,7 +567,7 @@ CopyImage(
{
case IMAGE_BITMAP:
{
- DbgPrint("WARNING: Incomplete implementation of CopyImage!\n");
+ DPRINT("WARNING: Incomplete implementation of CopyImage!\n");
/*
* FIXME: Support flags LR_COPYDELETEORG, LR_COPYFROMRESOURCE,
* LR_COPYRETURNORG, LR_CREATEDIBSECTION and LR_MONOCHROME.
@@ -596,7 +596,7 @@ CopyImage(
/* FIXME: support loading the image as shared from an instance */
if (!IconMsgDisplayed)
{
- DbgPrint("FIXME: CopyImage doesn't support IMAGE_ICON correctly!\n");
+ DPRINT("FIXME: CopyImage doesn't support IMAGE_ICON correctly!\n");
IconMsgDisplayed = TRUE;
}
return CopyIcon(hnd);
@@ -608,7 +608,7 @@ CopyImage(
/* FIXME: support loading the image as shared from an instance */
if (!IconMsgDisplayed)
{
- DbgPrint("FIXME: CopyImage doesn't support IMAGE_CURSOR correctly!\n");
+ DPRINT("FIXME: CopyImage doesn't support IMAGE_CURSOR correctly!\n");
IconMsgDisplayed = TRUE;
}
return CopyCursor(hnd);
diff --git a/reactos/drivers/input/i8042prt/mouse.c b/reactos/drivers/input/i8042prt/mouse.c
index 5d22f8835a7..5a8afb5ebf3 100644
--- a/reactos/drivers/input/i8042prt/mouse.c
+++ b/reactos/drivers/input/i8042prt/mouse.c
@@ -62,7 +62,7 @@ static VOID STDCALL I8042MouseInputTestTimeout(PDEVICE_EXTENSION DevExt)
/* Check if the last byte came too long ago */
if (Now.QuadPart - DevExt->MousePacketStartTime.QuadPart >
DevExt->Settings.MouseSynchIn100ns) {
- DPRINT1("Mouse input packet timeout\n");
+ DPRINT("Mouse input packet timeout\n");
DevExt->MouseState = MouseIdle;
}
}
diff --git a/reactos/drivers/network/tcpip/tcpip/ninfo.c b/reactos/drivers/network/tcpip/tcpip/ninfo.c
index 6935ad25bfd..c32822447fb 100644
--- a/reactos/drivers/network/tcpip/tcpip/ninfo.c
+++ b/reactos/drivers/network/tcpip/tcpip/ninfo.c
@@ -221,7 +221,7 @@ TDI_STATUS InfoNetworkLayerTdiSetEx( UINT InfoClass,
TI_DbgPrint(DEBUG_INFO,("Called\n"));
- OskitDumpBuffer( (OSK_PCHAR)Buffer, BufferSize );
+ //OskitDumpBuffer( (OSK_PCHAR)Buffer, BufferSize );
if( InfoClass == INFO_CLASS_PROTOCOL &&
InfoType == INFO_TYPE_PROVIDER &&
diff --git a/reactos/drivers/network/wshtcpip/wshtcpip.rbuild b/reactos/drivers/network/wshtcpip/wshtcpip.rbuild
index 51cd8d1661b..8dfa6f7e0a1 100644
--- a/reactos/drivers/network/wshtcpip/wshtcpip.rbuild
+++ b/reactos/drivers/network/wshtcpip/wshtcpip.rbuild
@@ -1,4 +1,4 @@
-
+
.
diff --git a/reactos/hal/halx86/generic/timer.c b/reactos/hal/halx86/generic/timer.c
index 3d299686c02..4f460802e11 100644
--- a/reactos/hal/halx86/generic/timer.c
+++ b/reactos/hal/halx86/generic/timer.c
@@ -223,7 +223,7 @@ VOID HalpCalibrateStallExecution(VOID)
}
- DbgPrint("Calibrating delay loop... [");
+ DPRINT("Calibrating delay loop... [");
/* Stage 1: Coarse calibration */
@@ -246,7 +246,7 @@ VOID HalpCalibrateStallExecution(VOID)
Pcr->StallScaleFactor >>= 1; /* Get bottom value for delay */
/* Stage 2: Fine calibration */
- DbgPrint("delay_count: %d", Pcr->StallScaleFactor);
+ DPRINT("delay_count: %d", Pcr->StallScaleFactor);
calib_bit = Pcr->StallScaleFactor; /* Which bit are we going to test */
@@ -275,9 +275,9 @@ VOID HalpCalibrateStallExecution(VOID)
Pcr->StallScaleFactor /= (MILLISEC / 2); /* Calculate delay_count for 1ms */
- DbgPrint("]\n");
- DbgPrint("delay_count: %d\n", Pcr->StallScaleFactor);
- DbgPrint("CPU speed: %d\n", Pcr->StallScaleFactor / 250);
+ DPRINT("]\n");
+ DPRINT("delay_count: %d\n", Pcr->StallScaleFactor);
+ DPRINT("CPU speed: %d\n", Pcr->StallScaleFactor / 250);
#if 0
DbgPrint("About to start delay loop test\n");
DbgPrint("Waiting for five minutes...");
diff --git a/reactos/lib/rtl/process.c b/reactos/lib/rtl/process.c
index 075d616a6de..2db03835842 100644
--- a/reactos/lib/rtl/process.c
+++ b/reactos/lib/rtl/process.c
@@ -44,8 +44,8 @@ RtlpMapFile(PUNICODE_STRING ImageFileName,
DPRINT1("Failed to read image file from disk\n");
return(Status);
}
-
- /* Now create a section for this image */
+
+ /* Now create a section for this image */
Status = ZwCreateSection(Section,
SECTION_ALL_ACCESS,
NULL,
@@ -75,10 +75,9 @@ RtlpInitEnvironment(HANDLE ProcessHandle,
ULONG EnviroSize;
ULONG Size;
PWCHAR Environment = 0;
-
DPRINT("RtlpInitEnvironment (hProcess: %p, Peb: %p Params: %p)\n",
ProcessHandle, Peb, ProcessParameters);
-
+
/* Give the caller 1MB if he requested it */
if (ProcessParameters->Flags & RTL_USER_PROCESS_PARAMETERS_RESERVE_1MB)
{
@@ -97,7 +96,7 @@ RtlpInitEnvironment(HANDLE ProcessHandle,
return(Status);
}
}
-
+
/* Find the end of the Enviroment Block */
if ((Environment = (PWCHAR)ProcessParameters->Environment))
{
@@ -106,7 +105,6 @@ RtlpInitEnvironment(HANDLE ProcessHandle,
/* Calculate the size of the block */
EnviroSize = (ULONG)((ULONG_PTR)Environment -
(ULONG_PTR)ProcessParameters->Environment);
- DPRINT("EnvironmentSize %ld\n", EnviroSize);
/* Allocate and Initialize new Environment Block */
Size = EnviroSize;
@@ -121,24 +119,21 @@ RtlpInitEnvironment(HANDLE ProcessHandle,
DPRINT1("Failed to allocate Environment Block\n");
return(Status);
}
-
+
/* Write the Environment Block */
ZwWriteVirtualMemory(ProcessHandle,
BaseAddress,
ProcessParameters->Environment,
EnviroSize,
NULL);
-
+
/* Save pointer */
ProcessParameters->Environment = BaseAddress;
}
-
- DPRINT("EnvironmentPointer %p\n", BaseAddress);
- DPRINT("Ppb->MaximumLength 0x%lx\n", ProcessParameters->MaximumLength);
/* Now allocate space for the Parameter Block */
BaseAddress = NULL;
- Size = ProcessParameters->MaximumLength;
+ Size = ProcessParameters->MaximumLength;
Status = ZwAllocateVirtualMemory(ProcessHandle,
&BaseAddress,
0,
@@ -150,14 +145,14 @@ RtlpInitEnvironment(HANDLE ProcessHandle,
DPRINT1("Failed to allocate Parameter Block\n");
return(Status);
}
-
+
/* Write the Parameter Block */
ZwWriteVirtualMemory(ProcessHandle,
BaseAddress,
ProcessParameters,
ProcessParameters->Length,
NULL);
-
+
/* Write pointer to Parameter Block */
ZwWriteVirtualMemory(ProcessHandle,
&Peb->ProcessParameters,
@@ -200,7 +195,6 @@ RtlCreateUserProcess(IN PUNICODE_STRING ImageFileName,
HANDLE hSection;
PROCESS_BASIC_INFORMATION ProcessBasicInfo;
OBJECT_ATTRIBUTES ObjectAttributes;
-
DPRINT("RtlCreateUserProcess: %wZ\n", ImageFileName);
/* Map and Load the File */
@@ -212,10 +206,10 @@ RtlCreateUserProcess(IN PUNICODE_STRING ImageFileName,
DPRINT1("Could not map process image\n");
return Status;
}
-
+
/* Clean out the CurDir Handle if we won't use it */
if (!InheritHandles) ProcessParameters->CurrentDirectory.Handle = NULL;
-
+
/* Use us as parent if none other specified */
if (!ParentProcess) ParentProcess = NtCurrentProcess();
@@ -240,8 +234,7 @@ RtlCreateUserProcess(IN PUNICODE_STRING ImageFileName,
NULL,
ProcessSecurityDescriptor);
}
-
-
+
/* Create Kernel Process Object */
Status = ZwCreateProcess(&ProcessInfo->ProcessHandle,
PROCESS_ALL_ACCESS,
@@ -257,7 +250,7 @@ RtlCreateUserProcess(IN PUNICODE_STRING ImageFileName,
ZwClose(hSection);
return(Status);
}
-
+
/* Get some information on the image */
Status = ZwQuerySection(hSection,
SectionImageInformation,
@@ -284,7 +277,7 @@ RtlCreateUserProcess(IN PUNICODE_STRING ImageFileName,
ZwClose(ProcessInfo->ProcessHandle);
ZwClose(hSection);
return(Status);
- }
+ }
/* Create Process Environment */
RtlpInitEnvironment(ProcessInfo->ProcessHandle,
@@ -309,7 +302,7 @@ RtlCreateUserProcess(IN PUNICODE_STRING ImageFileName,
ZwClose(hSection); /* Don't try to optimize this on top! */
return Status;
}
-
+
/* Close the Section Handle and return */
ZwClose(hSection);
return STATUS_SUCCESS;
diff --git a/reactos/ntoskrnl/ex/handle.c b/reactos/ntoskrnl/ex/handle.c
index 3dd481ac621..7cd9509837a 100644
--- a/reactos/ntoskrnl/ex/handle.c
+++ b/reactos/ntoskrnl/ex/handle.c
@@ -866,17 +866,20 @@ ExDestroyHandleByEntry(IN PHANDLE_TABLE HandleTable,
DPRINT("DestroyHandleByEntry HT:0x%p Entry:0x%p\n", HandleTable, Entry);
- KeEnterCriticalRegion();
- ExAcquireHandleLockExclusive(HandleTable);
+ if (!(HandleTable->Flags & EX_HANDLE_TABLE_CLOSING))
+ {
+ KeEnterCriticalRegion();
+ ExAcquireHandleLockExclusive(HandleTable);
- /* free and automatically unlock the handle. However we don't need to pulse
- the contention event since other locks on this entry will fail */
- ExpFreeHandleTableEntry(HandleTable,
- Entry,
- HANDLE_TO_EX_HANDLE(Handle));
+ /* free and automatically unlock the handle. However we don't need to pulse
+ the contention event since other locks on this entry will fail */
+ ExpFreeHandleTableEntry(HandleTable,
+ Entry,
+ HANDLE_TO_EX_HANDLE(Handle));
- ExReleaseHandleLock(HandleTable);
- KeLeaveCriticalRegion();
+ ExReleaseHandleLock(HandleTable);
+ KeLeaveCriticalRegion();
+ }
}
PHANDLE_TABLE_ENTRY
diff --git a/reactos/ntoskrnl/ex/init.c b/reactos/ntoskrnl/ex/init.c
index a52c2c6173e..f9c1e11f275 100644
--- a/reactos/ntoskrnl/ex/init.c
+++ b/reactos/ntoskrnl/ex/init.c
@@ -261,7 +261,6 @@ ExecuteRuntimeAsserts(VOID)
ASSERT(FIELD_OFFSET(KPCR, Tib.ExceptionList) == KPCR_EXCEPTION_LIST);
ASSERT(FIELD_OFFSET(KPCR, Self) == KPCR_SELF);
ASSERT(FIELD_OFFSET(KIPCR, PrcbData) + FIELD_OFFSET(KPRCB, CurrentThread) == KPCR_CURRENT_THREAD);
- DPRINT1("NPXThread offset: %lx\n", FIELD_OFFSET(KIPCR, PrcbData) + FIELD_OFFSET(KPRCB, NpxThread));
ASSERT(FIELD_OFFSET(KIPCR, PrcbData) + FIELD_OFFSET(KPRCB, NpxThread) == KPCR_NPX_THREAD);
ASSERT(FIELD_OFFSET(KTSS, Esp0) == KTSS_ESP0);
ASSERT(FIELD_OFFSET(KTSS, IoMapBase) == KTSS_IOMAPBASE);
diff --git a/reactos/ntoskrnl/io/disk.c b/reactos/ntoskrnl/io/disk.c
index afec63e142b..4065a433428 100644
--- a/reactos/ntoskrnl/io/disk.c
+++ b/reactos/ntoskrnl/io/disk.c
@@ -646,7 +646,7 @@ xHalIoAssignDriveLetters(IN PROS_LOADER_PARAMETER_BLOCK LoaderBlock,
RDiskCount = xHalpGetRDiskCount();
- DPRINT1("RDiskCount %d\n", RDiskCount);
+ DPRINT("RDiskCount %d\n", RDiskCount);
Buffer1 = (PWSTR)ExAllocatePool(PagedPool,
64 * sizeof(WCHAR));
diff --git a/reactos/ntoskrnl/io/file.c b/reactos/ntoskrnl/io/file.c
index 1b2e0aeed72..1ec37ab798d 100644
--- a/reactos/ntoskrnl/io/file.c
+++ b/reactos/ntoskrnl/io/file.c
@@ -139,9 +139,9 @@ IopCreateFile(PVOID ObjectBody,
{
if (!(DeviceObject->Vpb->Flags & VPB_MOUNTED))
{
- DPRINT1("Mount the logical volume\n");
+ DPRINT("Mount the logical volume\n");
Status = IoMountVolume(DeviceObject, FALSE);
- DPRINT1("Status %x\n", Status);
+ DPRINT("Status %x\n", Status);
}
DeviceObject = DeviceObject->Vpb->DeviceObject;
}
diff --git a/reactos/ntoskrnl/kd/kdio.c b/reactos/ntoskrnl/kd/kdio.c
index a15a8b9f825..61b42b6aaaf 100644
--- a/reactos/ntoskrnl/kd/kdio.c
+++ b/reactos/ntoskrnl/kd/kdio.c
@@ -103,6 +103,10 @@ KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable,
/* Register as a Provider */
InsertTailList(&KdProviders, &DispatchTable->KdProvidersList);
+
+ /* Display separator + ReactOS version at start of the debug log */
+ DPRINT1("---------------------------------------------------------------\n");
+ DPRINT1("ReactOS "KERNEL_VERSION_STR" (Build "KERNEL_VERSION_BUILD_STR")\n");
}
else if (BootPhase == 2)
{
diff --git a/reactos/ntoskrnl/ke/main.c b/reactos/ntoskrnl/ke/main.c
index 048313e138f..01cfd818b5e 100644
--- a/reactos/ntoskrnl/ke/main.c
+++ b/reactos/ntoskrnl/ke/main.c
@@ -287,10 +287,6 @@ _main(ULONG MultiBootMagic,
/* Initialize HAL */
HalInitSystem (0, (PLOADER_PARAMETER_BLOCK)&KeLoaderBlock);
- /* Display separator + ReactOS version at start of the debug log */
- DPRINT1("---------------------------------------------------------------\n");
- DPRINT1("ReactOS "KERNEL_VERSION_STR" (Build "KERNEL_VERSION_BUILD_STR")\n");
-
/* Do general System Startup */
KiSystemStartup(1);
}
diff --git a/reactos/ntoskrnl/mm/mm.c b/reactos/ntoskrnl/mm/mm.c
index bc34a6a1045..1cec79d3641 100644
--- a/reactos/ntoskrnl/mm/mm.c
+++ b/reactos/ntoskrnl/mm/mm.c
@@ -150,7 +150,7 @@ MmAccessFault(KPROCESSOR_MODE Mode,
}
if (PsGetCurrentProcess() == NULL)
{
- CPRINT("No current process\n");
+ DPRINT("No current process\n");
return(STATUS_UNSUCCESSFUL);
}
@@ -280,7 +280,7 @@ MmNotPresentFault(KPROCESSOR_MODE Mode,
/* Allow this! It lets us page alloc much earlier! It won't be needed
* after my init patch anyways
*/
- CPRINT("No current process\n");
+ DPRINT("No current process\n");
if (Address < (ULONG_PTR)MmSystemRangeStart)
{
return(STATUS_UNSUCCESSFUL);
diff --git a/reactos/ntoskrnl/mm/mminit.c b/reactos/ntoskrnl/mm/mminit.c
index 0e2b7b8a2d6..e99c6aa6a38 100644
--- a/reactos/ntoskrnl/mm/mminit.c
+++ b/reactos/ntoskrnl/mm/mminit.c
@@ -384,7 +384,6 @@ MmInit1(ULONG_PTR FirstKrnlPhysAddr,
MmInitGlobalKernelPageDirectory();
DbgPrint("Used memory %dKb\n", (MmStats.NrTotalPages * PAGE_SIZE) / 1024);
- DPRINT1("Kernel Stack Limits. InitTop = 0x%x, Init = 0x%x\n", init_stack_top, init_stack);
LastKernelAddress = (ULONG_PTR)MmInitializePageList(
FirstKrnlPhysAddr,
diff --git a/reactos/subsystems/win32/win32k/ntuser/class.c b/reactos/subsystems/win32/win32k/ntuser/class.c
index 789711f3422..7a82a73d61a 100644
--- a/reactos/subsystems/win32/win32k/ntuser/class.c
+++ b/reactos/subsystems/win32/win32k/ntuser/class.c
@@ -1175,7 +1175,7 @@ UserRegisterClass(IN CONST WNDCLASSEXW* lpwcx,
if (Class != NULL)
{
ClassAlreadyExists:
- DPRINT1("Class 0x%p does already exist!\n", ClassAtom);
+ DPRINT("Class 0x%p does already exist!\n", ClassAtom);
SetLastWin32Error(ERROR_CLASS_ALREADY_EXISTS);
return (RTL_ATOM)0;
}
diff --git a/reactos/subsystems/win32/win32k/ntuser/desktop.c b/reactos/subsystems/win32/win32k/ntuser/desktop.c
index 976a60d7dad..ec410a7413c 100644
--- a/reactos/subsystems/win32/win32k/ntuser/desktop.c
+++ b/reactos/subsystems/win32/win32k/ntuser/desktop.c
@@ -722,7 +722,7 @@ VOID co_IntShellHookNotify(WPARAM Message, LPARAM lParam)
if (!Desktop)
{
- DPRINT1("IntShellHookNotify: No desktop!\n");
+ DPRINT("IntShellHookNotify: No desktop!\n");
return;
}