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

Reply via email to