diff --git a/reactos/subsystems/win32/csrss/api/handle.c b/reactos/subsystems/win32/csrss/api/handle.c index 0909c8437eb..391896ed28f 100644 --- a/reactos/subsystems/win32/csrss/api/handle.c +++ b/reactos/subsystems/win32/csrss/api/handle.c @@ -23,7 +23,7 @@ static BOOL CsrIsConsoleHandle(HANDLE Handle) { - return ((ULONG)Handle & 0x10000003) == 0x3; + return ((ULONG_PTR)Handle & 0x10000003) == 0x3; } @@ -77,7 +77,7 @@ CsrGetObject( Object_t **Object, DWORD Access ) { - ULONG h = (ULONG)Handle >> 2; + ULONG_PTR h = (ULONG_PTR)Handle >> 2; DPRINT("CsrGetObject, Object: %x, %x, %x\n", Object, Handle, ProcessData ? ProcessData->HandleTableSize : 0); @@ -130,7 +130,7 @@ CsrReleaseObject( PCSRSS_PROCESS_DATA ProcessData, HANDLE Handle) { - ULONG h = (ULONG)Handle >> 2; + ULONG_PTR h = (ULONG_PTR)Handle >> 2; Object_t *Object; RtlEnterCriticalSection(&ProcessData->HandleTableLock); @@ -187,7 +187,7 @@ CsrInsertObject( ProcessData->HandleTable[i].Object = Object; ProcessData->HandleTable[i].Access = Access; ProcessData->HandleTable[i].Inheritable = Inheritable; - *Handle = (HANDLE)((i << 2) | 0x3); + *Handle = UlongToHandle((i << 2) | 0x3); _InterlockedIncrement( &Object->ReferenceCount ); RtlLeaveCriticalSection(&ProcessData->HandleTableLock); return(STATUS_SUCCESS); @@ -239,7 +239,7 @@ CsrVerifyObject( PCSRSS_PROCESS_DATA ProcessData, HANDLE Handle) { - ULONG h = (ULONG)Handle >> 2; + ULONG_PTR h = (ULONG_PTR)Handle >> 2; if (h >= ProcessData->HandleTableSize || ProcessData->HandleTable[h].Object == NULL) diff --git a/reactos/subsystems/win32/csrss/api/process.c b/reactos/subsystems/win32/csrss/api/process.c index d8a16efacf0..1537f655ba1 100644 --- a/reactos/subsystems/win32/csrss/api/process.c +++ b/reactos/subsystems/win32/csrss/api/process.c @@ -245,7 +245,7 @@ CSR_API(CsrCreateProcess) if (Request->Data.CreateProcessRequest.Flags & CREATE_NEW_PROCESS_GROUP) { - NewProcessData->ProcessGroup = (DWORD)NewProcessData->ProcessId; + NewProcessData->ProcessGroup = (DWORD)(ULONG_PTR)NewProcessData->ProcessId; } else { @@ -364,14 +364,14 @@ CSR_API(CsrVerifyHandle) CSR_API(CsrDuplicateHandle) { - ULONG Index; + ULONG_PTR Index; PCSRSS_HANDLE Entry; DWORD DesiredAccess; Request->Header.u1.s1.TotalLength = sizeof(CSR_API_MESSAGE); Request->Header.u1.s1.DataLength = sizeof(CSR_API_MESSAGE) - sizeof(PORT_MESSAGE); - Index = (ULONG)Request->Data.DuplicateHandleRequest.Handle >> 2; + Index = (ULONG_PTR)Request->Data.DuplicateHandleRequest.Handle >> 2; RtlEnterCriticalSection(&ProcessData->HandleTableLock); if (Index >= ProcessData->HandleTableSize || (Entry = &ProcessData->HandleTable[Index])->Object == NULL) diff --git a/reactos/subsystems/win32/csrss/api/user.c b/reactos/subsystems/win32/csrss/api/user.c index de963da0a9a..d89e463cecc 100644 --- a/reactos/subsystems/win32/csrss/api/user.c +++ b/reactos/subsystems/win32/csrss/api/user.c @@ -19,7 +19,7 @@ /* GLOBALS *******************************************************************/ static BOOLEAN ServicesProcessIdValid = FALSE; -static ULONG ServicesProcessId; +static ULONG_PTR ServicesProcessId; /* FUNCTIONS *****************************************************************/ @@ -36,7 +36,7 @@ CSR_API(CsrRegisterServicesProcess) } else { - ServicesProcessId = (ULONG)Request->Data.RegisterServicesProcessRequest.ProcessId; + ServicesProcessId = (ULONG_PTR)Request->Data.RegisterServicesProcessRequest.ProcessId; ServicesProcessIdValid = TRUE; return STATUS_SUCCESS; } diff --git a/reactos/subsystems/win32/csrss/api/wapi.c b/reactos/subsystems/win32/csrss/api/wapi.c index ba34621eb93..61ca693d6a8 100644 --- a/reactos/subsystems/win32/csrss/api/wapi.c +++ b/reactos/subsystems/win32/csrss/api/wapi.c @@ -271,8 +271,8 @@ ClientConnectionThread(HANDLE ServerPort) } if (ProcessData->Terminated) { - DPRINT1("Message %d: process %d already terminated\n", - Request->Type, (ULONG)Request->Header.ClientId.UniqueProcess); + DPRINT1("Message %d: process %p already terminated\n", + Request->Type, Request->Header.ClientId.UniqueProcess); continue; } diff --git a/reactos/subsystems/win32/csrss/video.c b/reactos/subsystems/win32/csrss/video.c index fa9b65bb274..8282c15bd7a 100644 --- a/reactos/subsystems/win32/csrss/video.c +++ b/reactos/subsystems/win32/csrss/video.c @@ -24,7 +24,7 @@ InitializeVideoAddressSpace(VOID) HANDLE PhysMemHandle; PVOID BaseAddress; LARGE_INTEGER Offset; - ULONG ViewSize; + SIZE_T ViewSize; CHAR IVTAndBda[1024+256]; /* Open the physical memory section */ diff --git a/reactos/subsystems/win32/csrss/win32csr/conio.c b/reactos/subsystems/win32/csrss/win32csr/conio.c index a15af0dad57..fa3244e0d7e 100644 --- a/reactos/subsystems/win32/csrss/win32csr/conio.c +++ b/reactos/subsystems/win32/csrss/win32csr/conio.c @@ -65,7 +65,7 @@ ConioConsoleCtrlEventTimeout(DWORD Event, PCSRSS_PROCESS_DATA ProcessData, DWORD Thread = CreateRemoteThread(ProcessData->Process, NULL, 0, (LPTHREAD_START_ROUTINE) ProcessData->CtrlDispatcher, - (PVOID) Event, 0, NULL); + UlongToPtr(Event), 0, NULL); if (NULL == Thread) { DPRINT1("Failed thread creation (Error: 0x%x)\n", GetLastError()); diff --git a/reactos/subsystems/win32/csrss/win32csr/dllmain.c b/reactos/subsystems/win32/csrss/win32csr/dllmain.c index 85de976045b..2b3c6b7a1a4 100644 --- a/reactos/subsystems/win32/csrss/win32csr/dllmain.c +++ b/reactos/subsystems/win32/csrss/win32csr/dllmain.c @@ -190,7 +190,7 @@ Win32CsrHardError(IN PCSRSS_PROCESS_DATA ProcessData, OBJECT_ATTRIBUTES ObjectAttributes; ULONG nParam = 0; PRTL_MESSAGE_RESOURCE_ENTRY MessageResource; - ULONG ParameterList[MAXIMUM_HARDERROR_PARAMETERS]; + ULONG_PTR ParameterList[MAXIMUM_HARDERROR_PARAMETERS]; LPSTR CaptionText, MessageBody; LPWSTR szxCaptionText, szxMessageBody; DWORD SizeOfAllUnicodeStrings = 0; @@ -330,7 +330,7 @@ Win32CsrHardError(IN PCSRSS_PROCESS_DATA ProcessData, ParameterStringU.MaximumLength = TempStringU.MaximumLength; DPRINT("ParameterStringU=\'%wZ\'\n", &ParameterStringU); RtlUnicodeStringToAnsiString(&ParamStringA, &ParameterStringU, TRUE); - ParameterList[nParam] = (ULONG)ParamStringA.Buffer; + ParameterList[nParam] = (ULONG_PTR)ParamStringA.Buffer; SizeOfAllUnicodeStrings += ParamStringA.MaximumLength; } } @@ -345,7 +345,7 @@ Win32CsrHardError(IN PCSRSS_PROCESS_DATA ProcessData, // get text string of the error code Status = RtlFindMessage( (PVOID)GetModuleHandle(TEXT("ntdll")), - (ULONG)RT_MESSAGETABLE, + (ULONG_PTR)RT_MESSAGETABLE, LANG_NEUTRAL, HardErrorMessage->Status, &MessageResource ); @@ -412,7 +412,7 @@ Win32CsrHardError(IN PCSRSS_PROCESS_DATA ProcessData, MessageBody = NULL; Status = RtlFindMessage( (PVOID)GetModuleHandle(TEXT("ntdll")), - (ULONG)RT_MESSAGETABLE, + (ULONG_PTR)RT_MESSAGETABLE, LANG_NEUTRAL, ParameterList[0], &MsgResException); diff --git a/reactos/subsystems/win32/csrss/win32csr/exitros.c b/reactos/subsystems/win32/csrss/win32csr/exitros.c index 7f97c28ed69..5b1195ec727 100644 --- a/reactos/subsystems/win32/csrss/win32csr/exitros.c +++ b/reactos/subsystems/win32/csrss/win32csr/exitros.c @@ -57,7 +57,7 @@ CSR_API(CsrSetLogonNotifyWindow) DPRINT1("Can't get window creator\n"); return STATUS_INVALID_HANDLE; } - if (WindowCreator != (DWORD)LogonProcess) + if (WindowCreator != (DWORD_PTR)LogonProcess) { DPRINT1("Trying to register window not created by winlogon as notify window\n"); return STATUS_ACCESS_DENIED; @@ -481,7 +481,7 @@ NotifyAndTerminateProcess(PCSRSS_PROCESS_DATA ProcessData, } else { - Context.ProcessId = (DWORD) ProcessData->ProcessId; + Context.ProcessId = (DWORD_PTR) ProcessData->ProcessId; Context.wParam = 0; Context.lParam = (0 != (Flags & EWX_INTERNAL_FLAG_LOGOFF) ? ENDSESSION_LOGOFF : 0); @@ -527,7 +527,7 @@ NotifyAndTerminateProcess(PCSRSS_PROCESS_DATA ProcessData, /* Terminate this process */ Process = OpenProcess(PROCESS_TERMINATE, FALSE, - (DWORD) ProcessData->ProcessId); + (DWORD_PTR) ProcessData->ProcessId); if (NULL == Process) { DPRINT1("Unable to open process %d, error %d\n", ProcessData->ProcessId, @@ -560,7 +560,7 @@ ExitReactosProcessEnum(PCSRSS_PROCESS_DATA ProcessData, PVOID Data) PCSRSS_PROCESS_DATA *NewData; /* Do not kill winlogon or csrss */ - if ((DWORD) ProcessData->ProcessId == Context->CsrssProcess || + if ((DWORD_PTR) ProcessData->ProcessId == Context->CsrssProcess || ProcessData->ProcessId == LogonProcess) { return STATUS_SUCCESS; @@ -568,7 +568,7 @@ ExitReactosProcessEnum(PCSRSS_PROCESS_DATA ProcessData, PVOID Data) /* Get the login session of this process */ Process = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, - (DWORD) ProcessData->ProcessId); + (DWORD_PTR) ProcessData->ProcessId); if (NULL == Process) { DPRINT1("Unable to open process %d, error %d\n", ProcessData->ProcessId, @@ -600,7 +600,7 @@ ExitReactosProcessEnum(PCSRSS_PROCESS_DATA ProcessData, PVOID Data) &(Origin.OriginatingLogonSession))) { /* Kill the shell process last */ - if ((DWORD) ProcessData->ProcessId == Context->ShellProcess) + if ((DWORD_PTR) ProcessData->ProcessId == Context->ShellProcess) { ProcessData->ShutdownLevel = 0; } @@ -767,7 +767,7 @@ InternalExitReactos(DWORD ProcessId, DWORD ThreadId, UINT Flags) TOKEN_USER *UserInfo; SHUTDOWN_SETTINGS ShutdownSettings; - if (ProcessId != (DWORD) LogonProcess) + if (ProcessId != (DWORD_PTR) LogonProcess) { DPRINT1("Internal ExitWindowsEx call not from winlogon\n"); return STATUS_ACCESS_DENIED; @@ -928,13 +928,13 @@ CSR_API(CsrExitReactos) if (0 == (Request->Data.ExitReactosRequest.Flags & EWX_INTERNAL_FLAG)) { - return UserExitReactos((DWORD) Request->Header.ClientId.UniqueProcess, + return UserExitReactos((DWORD_PTR) Request->Header.ClientId.UniqueProcess, Request->Data.ExitReactosRequest.Flags); } else { - return InternalExitReactos((DWORD) Request->Header.ClientId.UniqueProcess, - (DWORD) Request->Header.ClientId.UniqueThread, + return InternalExitReactos((DWORD_PTR) Request->Header.ClientId.UniqueProcess, + (DWORD_PTR) Request->Header.ClientId.UniqueThread, Request->Data.ExitReactosRequest.Flags); } } diff --git a/reactos/subsystems/win32/csrss/win32csr/win32csr.def b/reactos/subsystems/win32/csrss/win32csr/win32csr.def deleted file mode 100644 index 9fa863db822..00000000000 --- a/reactos/subsystems/win32/csrss/win32csr/win32csr.def +++ /dev/null @@ -1,8 +0,0 @@ -; $Id$ -; - -LIBRARY win32csr.dll - -EXPORTS - -Win32CsrInitialization@24 diff --git a/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild b/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild index b49514f7009..7a14f63f806 100644 --- a/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild +++ b/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild @@ -1,7 +1,7 @@ - + . include include/reactos/subsys diff --git a/reactos/subsystems/win32/csrss/win32csr/win32csr.spec b/reactos/subsystems/win32/csrss/win32csr/win32csr.spec new file mode 100644 index 00000000000..85e81a759b4 --- /dev/null +++ b/reactos/subsystems/win32/csrss/win32csr/win32csr.spec @@ -0,0 +1 @@ +@ stdcall Win32CsrInitialization(ptr ptr ptr ptr ptr ptr)