Re: [ros-diffs] 01/01: [WTSAPI32] Sync with Wine 3.0. CORE-14225

"Ged Murphy" <[email protected]>
Newsgroups gmane.os.reactos.kernel
Message-ID <[email protected]>
Is this really a sync up?
It takes implemented functions are returns them to stubs

-----Original Message-----
From: Ros-diffs [mailto:[email protected]] On Behalf Of Amine Khaldi
Sent: 21 January 2018 21:02
To: [email protected]
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 <[email protected]>
AuthorDate: Sun Jan 21 22:01:34 2018 +0100
Commit:     Amine Khaldi <[email protected]>
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
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.