[PATCH 1/2] ntoskrnl.exe: Implement IoGetCurrentProcess and KeGetCurrentThread.

Christian Costa titan.costa at gmail.com
Thu Oct 4 06:07:12 CDT 2012


2012/10/4 Paul Chitescu <paulc at voip.null.ro>

> On Thursday 04 October 2012 08:25:13 am Dmitry Timoshkov wrote:
> > Christian Costa <titan.costa at gmail.com> wrote:
> > >  PEPROCESS WINAPI IoGetCurrentProcess(void)
> > >  {
> > > -    FIXME("() stub\n");
> > > -    return NULL;
> > > +    TRACE("()\n");
> > > +
> > > +    /* Return current process id since PEPROCESS is opaque and drivers
> > > should not access the struct directly */ +    return
> > > (PEPROCESS)PsGetCurrentProcessId();
> > >  }
> >
> > The returned pointer is supposed to be passed to various other ntoskrnl
> > APIs, and it's needs to be a valid pointer to the kernel object. Besides
> > many not trivial kernel drivers (if not all) really dig into internal
> > kernel structures.
> >
> > Same for KeGetCurrentThread.
>
> AFAIK the structure differs for each major version of Windows and some SP
> too.
>
>
I was expecting something like this. :(


> At the minimum I saw some drivers expecting that at the returned pointer
> to be
> a "System" C-style string.
>

Which windows version it is ? In Vista definition the first basic element
can be either an UCHAR or an ULONG. Not a char buffer.



>
> I tried submitting a patch before but was not accepted.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20121004/37cdad2b/attachment.html>


More information about the wine-devel mailing list