Is this really a sync up? It takes implemented functions are returns them to stubs
-----Original Message----- From: Ros-diffs [mailto:ros-diffs-boun...@reactos.org] On Behalf Of Amine Khaldi Sent: 21 January 2018 21:02 To: ros-di...@reactos.org Subject: [ros-diffs] 01/01: [WTSAPI32] Sync with Wine 3.0. CORE-14225 https://git.reactos.org/?p=reactos.git;a=commitdiff;h=90f14ccef3d9d344b7021407b4c59a7234a19614 commit 90f14ccef3d9d344b7021407b4c59a7234a19614 Author: Amine Khaldi <amine.kha...@reactos.org> AuthorDate: Sun Jan 21 22:01:34 2018 +0100 Commit: Amine Khaldi <amine.kha...@reactos.org> CommitDate: Sun Jan 21 22:01:34 2018 +0100 [WTSAPI32] Sync with Wine 3.0. CORE-14225 --- dll/win32/wtsapi32/wtsapi32.c | 95 ++++--------------------------------------- media/doc/README.WINE | 2 +- 2 files changed, 10 insertions(+), 87 deletions(-) diff --git a/dll/win32/wtsapi32/wtsapi32.c b/dll/win32/wtsapi32/wtsapi32.c index a7f4c873d9..92a7396f54 100644 --- a/dll/win32/wtsapi32/wtsapi32.c +++ b/dll/win32/wtsapi32/wtsapi32.c @@ -28,9 +28,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(wtsapi); -/* FIXME: Inspect */ -#define GetCurrentProcessToken() ((HANDLE)~(ULONG_PTR)3) - /************************************************************ * WTSCloseServer (WTSAPI32.@) @@ -99,13 +96,8 @@ BOOL WINAPI WTSEnumerateProcessesA(HANDLE hServer, DWORD Reserved, DWORD Version BOOL WINAPI WTSEnumerateProcessesW(HANDLE hServer, DWORD Reserved, DWORD Version, PWTS_PROCESS_INFOW* ppProcessInfo, DWORD* pCount) { - WTS_PROCESS_INFOW *processInfo; - SYSTEM_PROCESS_INFORMATION *spi; - ULONG size = 0x4000; - void *buf = NULL; - NTSTATUS status; - DWORD count; - WCHAR *name; + FIXME("Stub %p 0x%08x 0x%08x %p %p\n", hServer, Reserved, Version, + ppProcessInfo, pCount); if (!ppProcessInfo || !pCount || Reserved != 0 || Version != 1) { @@ -113,71 +105,9 @@ BOOL WINAPI WTSEnumerateProcessesW(HANDLE hServer, DWORD Reserved, DWORD Version return FALSE; } - if (hServer != WTS_CURRENT_SERVER_HANDLE) - { - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; - } - - do - { - size *= 2; - HeapFree(GetProcessHeap(), 0, buf); - buf = HeapAlloc(GetProcessHeap(), 0, size); - if (!buf) - { - SetLastError(ERROR_OUTOFMEMORY); - return FALSE; - } - status = NtQuerySystemInformation(SystemProcessInformation, buf, size, NULL); - } - while (status == STATUS_INFO_LENGTH_MISMATCH); - - if (status != STATUS_SUCCESS) - { - HeapFree(GetProcessHeap(), 0, buf); - SetLastError(RtlNtStatusToDosError(status)); - return FALSE; - } - - spi = buf; - count = size = 0; - for (;;) - { - size += sizeof(WTS_PROCESS_INFOW) + spi->ProcessName.Length + sizeof(WCHAR); - count++; - if (spi->NextEntryOffset == 0) break; - spi = (SYSTEM_PROCESS_INFORMATION *)(((PCHAR)spi) + spi->NextEntryOffset); - } - - processInfo = HeapAlloc(GetProcessHeap(), 0, size); - if (!processInfo) - { - HeapFree(GetProcessHeap(), 0, buf); - SetLastError(ERROR_OUTOFMEMORY); - return FALSE; - } - name = (WCHAR *)&processInfo[count]; - - *ppProcessInfo = processInfo; - *pCount = count; - - spi = buf; - while (count--) - { - processInfo->SessionId = 0; - processInfo->ProcessId = HandleToUlong(spi->UniqueProcessId); - processInfo->pProcessName = name; - processInfo->pUserSid = NULL; - memcpy( name, spi->ProcessName.Buffer, spi->ProcessName.Length ); - name[ spi->ProcessName.Length/sizeof(WCHAR) ] = 0; - - processInfo++; - name += (spi->ProcessName.Length + sizeof(WCHAR))/sizeof(WCHAR); - spi = (SYSTEM_PROCESS_INFORMATION *)(((PCHAR)spi) + spi->NextEntryOffset); - } + *pCount = 0; + *ppProcessInfo = NULL; - HeapFree(GetProcessHeap(), 0, buf); return TRUE; } @@ -241,7 +171,9 @@ BOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer, DWORD Reserved, DWORD Version, */ void WINAPI WTSFreeMemory(PVOID pMemory) { - HeapFree(GetProcessHeap(), 0, pMemory); + static int once; + + if (!once++) FIXME("Stub %p\n", pMemory); } /************************************************************ @@ -314,16 +246,7 @@ BOOL WINAPI WTSQuerySessionInformationW( BOOL WINAPI WTSQueryUserToken(ULONG session_id, PHANDLE token) { FIXME("%u %p\n", session_id, token); - - if (!token) - { - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } - - return DuplicateHandle(GetCurrentProcess(), GetCurrentProcessToken(), - GetCurrentProcess(), token, - 0, FALSE, DUPLICATE_SAME_ACCESS); + return FALSE; } /************************************************************ @@ -357,7 +280,7 @@ BOOL WINAPI WTSRegisterSessionNotification(HWND hWnd, DWORD dwFlags) } /************************************************************ - * WTSRegisterSessionNotification (WTSAPI32.@) + * WTSRegisterSessionNotificationEx (WTSAPI32.@) */ BOOL WINAPI WTSRegisterSessionNotificationEx(HANDLE hServer, HWND hWnd, DWORD dwFlags) { diff --git a/media/doc/README.WINE b/media/doc/README.WINE index f366990215..69bf99b9c6 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -212,7 +212,7 @@ reactos/dll/win32/wmi # Synced to WineStaging-2.9 reactos/dll/win32/wmiutils # Synced to WineStaging-2.9 reactos/dll/win32/wmvcore # Synced to Wine-3.0 reactos/dll/win32/wshom.ocx # Synced to Wine-3.0 -reactos/dll/win32/wtsapi32 # Synced to WineStaging-2.9 +reactos/dll/win32/wtsapi32 # Synced to Wine-3.0 reactos/dll/win32/wuapi # Synced to WineStaging-2.9 reactos/dll/win32/xinput1_1 # Synced to WineStaging-2.9 reactos/dll/win32/xinput1_2 # Synced to WineStaging-2.9 _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev