From: Andrew Cook Subject: [8/8] ntdll: Implement NtQueryInformationJobObject stub function. Message-Id: <1427756281.24235.7.camel@andrews-laptop> Date: Thu, 12 Mar 2015 22:19:50 +0100 From: Sebastian Lackner --- dlls/ntdll/sync.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c index c754df6..4bcab2c 100644 --- a/dlls/ntdll/sync.c +++ b/dlls/ntdll/sync.c @@ -636,15 +636,37 @@ NTSTATUS WINAPI NtTerminateJobObject( HANDLE handle, NTSTATUS status ) NTSTATUS WINAPI NtQueryInformationJobObject( HANDLE handle, JOBOBJECTINFOCLASS class, PVOID info, ULONG len, PULONG ret_len ) { + JOBOBJECT_EXTENDED_LIMIT_INFORMATION *extended_limit; + JOBOBJECT_BASIC_LIMIT_INFORMATION *basic_limit; + TRACE( "%p %u %p %u %p\n", handle, class, info, len, ret_len ); if (class >= MaxJobObjectInfoClass) return STATUS_INVALID_PARAMETER; + FIXME( "stub: %p %u %p %u %p\n", handle, class, info, len, ret_len ); + switch (class) { + case JobObjectExtendedLimitInformation: + if (len < sizeof(JOBOBJECT_EXTENDED_LIMIT_INFORMATION)) + return STATUS_INVALID_PARAMETER; + + 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: + if (len < sizeof(JOBOBJECT_BASIC_LIMIT_INFORMATION)) + return STATUS_INVALID_PARAMETER; + + 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: - FIXME( "stub: %p %u %p %u %p\n", handle, class, info, len, ret_len ); return STATUS_NOT_IMPLEMENTED; } }