From: Sebastian Lackner Subject: [1/2] ntdll: Improve stub for NtQueryInformationJobObject. Message-Id: <55BB0C3F.8000204@fds-team.de> Date: Fri, 31 Jul 2015 07:48:47 +0200 --- dlls/ntdll/sync.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c index 04c6de30..b0329ab 100644 --- a/dlls/ntdll/sync.c +++ b/dlls/ntdll/sync.c @@ -636,7 +636,39 @@ NTSTATUS WINAPI NtQueryInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS c ULONG len, PULONG ret_len ) { FIXME( "stub: %p %u %p %u %p\n", handle, class, info, len, ret_len ); - return STATUS_NOT_IMPLEMENTED; + + if (class >= MaxJobObjectInfoClass) + return STATUS_INVALID_PARAMETER; + + switch (class) + { + case JobObjectExtendedLimitInformation: + { + JOBOBJECT_EXTENDED_LIMIT_INFORMATION *extended_limit; + if (len < sizeof(*extended_limit)) + return STATUS_INFO_LENGTH_MISMATCH; + + extended_limit = (JOBOBJECT_EXTENDED_LIMIT_INFORMATION *)info; + memset(extended_limit, 0, sizeof(*extended_limit)); + if (ret_len) *ret_len = sizeof(*extended_limit); + return STATUS_SUCCESS; + } + + case JobObjectBasicLimitInformation: + { + JOBOBJECT_BASIC_LIMIT_INFORMATION *basic_limit; + if (len < sizeof(*basic_limit)) + return STATUS_INFO_LENGTH_MISMATCH; + + basic_limit = (JOBOBJECT_BASIC_LIMIT_INFORMATION *)info; + memset(basic_limit, 0, sizeof(*basic_limit)); + if (ret_len) *ret_len = sizeof(*basic_limit); + return STATUS_SUCCESS; + } + + default: + return STATUS_NOT_IMPLEMENTED; + } } /****************************************************************************** -- 2.5.0