Hi All,
Since this is my first attempt to submit a patch coupled with the fact that I am sooo new to win32 C, I thought I would offer my proposal before the wine developers. This does 3 things for me: 1) See if I am in left or the right field :) and if 'half step' patches to full implemetation are ok. 2) Check to see if my patch submission procedure/format is correct (did I follow directions correctly?). 3) Best of all, implementation of this patch nearly made my UD Agent function 100% without even adding any code.
Sending via Mozilla e-mail client out of WinME hopefully set up properly. Feedback more than welcome!
Thanks, Roger
********** Proposed Patch ************ Change CreateRemoteThread() from an unhandled exception to a fixme.
Index: kernel/kernel32.spec =================================================================== RCS file: /home/wine/wine/dlls/kernel/kernel32.spec,v retrieving revision 1.136 diff -u -u -r1.136 kernel32.spec --- kernel/kernel32.spec 15 Jun 2004 00:52:03 -0000 1.136 +++ kernel/kernel32.spec 4 Jul 2004 18:46:11 -0000 @@ -221,7 +221,7 @@ @ stdcall CreatePipe(ptr ptr ptr long) @ stdcall CreateProcessA(str str ptr ptr long long ptr str ptr ptr) @ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) -@ stub CreateRemoteThread +@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) @ stdcall CreateSemaphoreA(ptr long long str) @ stdcall CreateSemaphoreW(ptr long long wstr) @ stdcall CreateSocketHandle() Index: kernel/thread.c =================================================================== RCS file: /home/wine/wine/dlls/kernel/thread.c,v retrieving revision 1.18 diff -u -u -r1.18 thread.c --- kernel/thread.c 14 Jun 2004 17:04:35 -0000 1.18 +++ kernel/thread.c 4 Jul 2004 18:46:11 -0000 @@ -157,6 +157,32 @@ }
+/***************************************************************************
+ * CreateRemoteThread (KERNEL32.@) + * + * Creates a thread that runs in the address space of another process + * + * PARAMS + * + * RETURNS + * Success: Handle to the new thread. + * Failure: NULL. Use GetLastError() to find the error cause. + * + * BUGS + * Unimplemented + */ +HANDLE WINAPI CreateRemoteThread( HANDLE hProcess, SECURITY_ATTRIBUTES *sa, SIZE_T stack, + LPTHREAD_START_ROUTINE start, LPVOID param, + DWORD flags, LPDWORD id ) +{ + /* make this a fixme */ + FIXME("(): stub, Write Me.\n"); + + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return NULL; +} + + /*********************************************************************** * OpenThread [KERNEL32.@] Retrieves a handle to a thread from its thread id */
On Sun, 04 Jul 2004 14:00:23 -0700, Roger Olson wrote:
Sending via Mozilla e-mail client out of WinME hopefully set up properly. Feedback more than welcome!
Looks good, though the "make this a fixme" comment is a bit wierd - you just made it a fixme! Definitely send this to wine-patches if it fixes your program.
thanks -mike