2012/10/5 Dmitry Timoshkov <dmi...@baikal.ru>
> Christian Costa <titan.co...@gmail.com> wrote: > > > +EPROCESS process_info; > > + > > #ifdef __i386__ > > #define DEFINE_FASTCALL1_ENTRYPOINT( name ) \ > > __ASM_STDCALL_FUNC( name, 4, \ > > @@ -1200,8 +1203,11 @@ NTSTATUS WINAPI FsRtlRegisterUncProvider(PHANDLE > MupHandle, PUNICODE_STRING Redi > > */ > > PEPROCESS WINAPI IoGetCurrentProcess(void) > > { > > - FIXME("() stub\n"); > > - return NULL; > > + FIXME("(): partial stub\n"); > > + > > + process_info.UniqueProcessId = (PVOID)PsGetCurrentProcessId(); > > + > > + return &process_info; > > } > > Why do you think that returning the structure filled with garbage is better > than returning NULL? > > It is not supposed to return NULL afaik but a valid pointer as you said before. The structure is zeroed except UniqueProcessId I need for MDL functions. MDL struct have a PEPROCESS field and I would like to do things in a clean way. What's the problem with that ?