The stub is enough for TokenViewer.exe to start up and display its user interface.
Based on a patch by Nikolay Sivov.
From: Alex Henrie alexhenrie24@gmail.com
The stub is enough for TokenViewer.exe to start up and display its user interface.
Based on a patch by Nikolay Sivov.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45119 --- dlls/ntdll/ntdll.spec | 1 + dlls/ntdll/unix/loader.c | 1 + dlls/ntdll/unix/process.c | 12 ++++++++++++ dlls/wow64/syscall.h | 1 + include/winternl.h | 1 + 5 files changed, 16 insertions(+)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 80277005672..55631a04652 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -230,6 +230,7 @@ @ stdcall -norelay -syscall NtGetContextThread(long ptr) @ stdcall -syscall NtGetCurrentProcessorNumber() # @ stub NtGetDevicePowerState +@ stdcall -syscall NtGetNextProcess(ptr long long long ptr) @ stdcall -syscall NtGetNextThread(ptr ptr long long long ptr) @ stdcall -syscall NtGetNlsSectionPtr(long long long ptr ptr) # @ stub NtGetPlugPlayEvent diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c index 28f0c4bf245..17e68a42030 100644 --- a/dlls/ntdll/unix/loader.c +++ b/dlls/ntdll/unix/loader.c @@ -192,6 +192,7 @@ static void * const syscalls[] = NtFsControlFile, NtGetContextThread, NtGetCurrentProcessorNumber, + NtGetNextProcess, NtGetNextThread, NtGetNlsSectionPtr, NtGetWriteWatch, diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c index fa8022d9968..a349a850110 100644 --- a/dlls/ntdll/unix/process.c +++ b/dlls/ntdll/unix/process.c @@ -1776,6 +1776,18 @@ NTSTATUS WINAPI NtResumeProcess( HANDLE handle ) }
+/********************************************************************** + * NtGetNextProcess (NTDLL.@) + */ +NTSTATUS WINAPI NtGetNextProcess( HANDLE process, ACCESS_MASK access, ULONG attributes, + ULONG flags, HANDLE *handle ) +{ + FIXME( "process %p, access %#x, attributes %#x, flags %#x, handle %p. stub!\n", + process, (int)access, (int)attributes, (int)flags, handle ); + return STATUS_NOT_IMPLEMENTED; +} + + /********************************************************************** * NtDebugActiveProcess (NTDLL.@) */ diff --git a/dlls/wow64/syscall.h b/dlls/wow64/syscall.h index 59586d3fbfa..c586ab5b2bb 100644 --- a/dlls/wow64/syscall.h +++ b/dlls/wow64/syscall.h @@ -96,6 +96,7 @@ SYSCALL_ENTRY( NtFsControlFile ) \ SYSCALL_ENTRY( NtGetContextThread ) \ SYSCALL_ENTRY( NtGetCurrentProcessorNumber ) \ + SYSCALL_ENTRY( NtGetNextProcess ) \ SYSCALL_ENTRY( NtGetNextThread ) \ SYSCALL_ENTRY( NtGetNlsSectionPtr ) \ SYSCALL_ENTRY( NtGetWriteWatch ) \ diff --git a/include/winternl.h b/include/winternl.h index 455e199f3e1..b59b61e6b02 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -4180,6 +4180,7 @@ NTSYSAPI NTSTATUS WINAPI NtFreeVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG); NTSYSAPI NTSTATUS WINAPI NtFsControlFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,ULONG,PVOID,ULONG,PVOID,ULONG); NTSYSAPI NTSTATUS WINAPI NtGetContextThread(HANDLE,CONTEXT*); NTSYSAPI ULONG WINAPI NtGetCurrentProcessorNumber(void); +NTSYSAPI NTSTATUS WINAPI NtGetNextProcess(HANDLE,ACCESS_MASK,ULONG,ULONG,HANDLE*); NTSYSAPI NTSTATUS WINAPI NtGetNextThread(HANDLE,HANDLE,ACCESS_MASK,ULONG,ULONG,HANDLE*); NTSYSAPI NTSTATUS WINAPI NtGetNlsSectionPtr(ULONG,ULONG,void*,void**,SIZE_T*); NTSYSAPI NTSTATUS WINAPI NtGetPlugPlayEvent(ULONG,ULONG,PVOID,ULONG);
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=133898
Your paranoid android.
=== debian11b (build log) ===
/usr/bin/x86_64-w64-mingw32-ld: dlls/wow64/x86_64-windows/syscall.o:syscall.c:(.rdata+0x1ab0): undefined reference to `wow64_NtGetNextProcess' collect2: error: ld returned 1 exit status Task: The wow64 Wine build failed
I don't think this has to be a stub, we have NtGetNextThread() in already. Also this is missing corresponding wow64 changes.