2012/10/5 Dmitry Timoshkov <dmitry(a)baikal.ru>
Christian Costa <titan.costa(a)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 ?