[PATCH v2 01/10] ntoskrnl.exe: Implement PsLookupThreadByThreadId.

Derek Lesho dereklesho52 at gmail.com
Wed Apr 10 00:12:23 CDT 2019


On Tue, Apr 9, 2019 at 7:34 PM Zebediah Figura <z.figura12 at gmail.com> wrote:

> On 04/09/2019 02:29 PM, Derek Lesho wrote:
> > Signed-off-by: Derek Lesho <dereklesho52 at Gmail.com>
> > ---
> >  dlls/ntoskrnl.exe/ntoskrnl.c        | 20 ++++++++++++++++++++
> >  dlls/ntoskrnl.exe/ntoskrnl.exe.spec |  2 +-
> >  2 files changed, 21 insertions(+), 1 deletion(-)
> >
> > diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
> > index f5dee07e2f..770bdfd4fa 100644
> > --- a/dlls/ntoskrnl.exe/ntoskrnl.c
> > +++ b/dlls/ntoskrnl.exe/ntoskrnl.c
> > @@ -3245,6 +3245,26 @@ NTSTATUS WINAPI PsLookupProcessByProcessId(HANDLE
> processid, PEPROCESS *process)
> >  }
> >
> >
> > +/*****************************************************
> > + *           PsLookupThreadByThreadId   (NTOSKRNL.EXE.@)
> > + */
> > +NTSTATUS WINAPI PsLookupThreadByThreadId(HANDLE threadid, PETHREAD
> *thread)
> > +{
> > +    NTSTATUS status;
> > +    HANDLE hThread = OpenThread( THREAD_ALL_ACCESS, FALSE,
> HandleToUlong(threadid) );
> > +
> > +    if (!hThread)
> > +        return STATUS_INVALID_PARAMETER;
> > +
> > +    status = kernel_object_from_handle( hThread, PsThreadType,
> (void**)thread );
> > +
> > +    ObReferenceObject( *thread );
> > +
> > +    NtClose( hThread );
> > +    return status;
> > +}
> > +
> > +
> >  /*****************************************************
> >   *           IoSetThreadHardErrorMode  (NTOSKRNL.EXE.@)
> >   */
> > diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
> b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
> > index 43f47470a9..601506246e 100644
> > --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
> > +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
> > @@ -913,7 +913,7 @@
> >  @ stub PsJobType
> >  @ stdcall PsLookupProcessByProcessId(ptr ptr)
> >  @ stub PsLookupProcessThreadByCid
> > -@ stub PsLookupThreadByThreadId
> > +@ stdcall PsLookupThreadByThreadId(ptr ptr)
> >  @ extern PsProcessType
> >  @ stub PsReferenceImpersonationToken
> >  @ stub PsReferencePrimaryToken
> >
>
> Can we have tests for this function?
>
> And while you're at it, can you add it to the public header?
>
>
> Sure, will do.  I Just based the return value on the MSDN, but I guess it
doesn't hurt to check.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20190410/e43b086a/attachment.html>


More information about the wine-devel mailing list