From 7e1f38034c4719fc377f221d3f3361124bf04ef0 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Mon, 3 Nov 2003 22:12:15 +0000 Subject: [PATCH] Stubs for job control. --- dlls/kernel/kernel32.spec | 5 ++-- dlls/kernel/sync.c | 50 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/dlls/kernel/kernel32.spec b/dlls/kernel/kernel32.spec index ae6b1f906e0..94ddbb79279 100644 --- a/dlls/kernel/kernel32.spec +++ b/dlls/kernel/kernel32.spec @@ -1043,8 +1043,9 @@ @ stdcall SetThreadExecutionState(long) # Windows 2000, Terminal Server 4.0 SP4 functions -@ stub AssignProcessToJobObject -@ stub CreateJobObjectW +@ stdcall AssignProcessToJobObject(ptr ptr) +@ stdcall CreateJobObjectA(ptr str) +@ stdcall CreateJobObjectW(ptr wstr) @ stdcall CreateTimerQueue () @ stdcall CreateTimerQueueTimer(ptr long ptr ptr long long long) @ stdcall DeleteTimerQueueEx (long long) diff --git a/dlls/kernel/sync.c b/dlls/kernel/sync.c index 2e8158e8458..15161ae436b 100644 --- a/dlls/kernel/sync.c +++ b/dlls/kernel/sync.c @@ -1553,6 +1553,56 @@ BOOL WINAPI GetQueuedCompletionStatus( HANDLE CompletionPort, LPDWORD lpNumberOf return FALSE; } +/****************************************************************************** + * CreateJobObjectW (KERNEL32.@) + */ +HANDLE WINAPI CreateJobObjectW( LPSECURITY_ATTRIBUTES attr, LPCWSTR name ) +{ + FIXME("%p %s\n", attr, debugstr_w(name) ); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; +} + +/****************************************************************************** + * CreateJobObjectA (KERNEL32.@) + */ +HANDLE WINAPI CreateJobObjectA( LPSECURITY_ATTRIBUTES attr, LPCSTR name ) +{ + LPWSTR str = NULL; + UINT len; + HANDLE r; + + TRACE("%p %s\n", attr, debugstr_a(name) ); + + if( name ) + { + len = MultiByteToWideChar( CP_ACP, 0, name, -1, NULL, 0 ); + str = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) ); + if( !str ) + { + SetLastError( ERROR_OUTOFMEMORY ); + return 0; + } + len = MultiByteToWideChar( CP_ACP, 0, name, -1, str, len ); + } + + r = CreateJobObjectW( attr, str ); + + if( str ) + HeapFree( GetProcessHeap(), 0, str ); + + return r; +} + +/****************************************************************************** + * AssignProcessToJobObject (KERNEL32.@) + */ +BOOL WINAPI AssignProcessToJobObject( HANDLE hJob, HANDLE hProcess ) +{ + FIXME("%p %p\n", hJob, hProcess); + return TRUE; +} + #ifdef __i386__ /***********************************************************************