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 RH9 hopefully set up
properly. Feedback more than welcome!
Thanks, Roger
********** Proposed Patch ************
Change CreateRemoteThread() from an unhandled exception to a fixme.
Index: dlls/kernel/kernel32.spec
===================================================================
RCS file: /home/wine/wine/dlls/kernel/kernel32.spec,v
retrieving revision 1.136
diff -u -u -r1.136 kernel32.spec
--- dlls/kernel/kernel32.spec 15 Jun 2004 00:52:03 -0000 1.136
+++ dlls/kernel/kernel32.spec 4 Jul 2004 20:23:01 -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: dlls/kernel/thread.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/thread.c,v
retrieving revision 1.18
diff -u -u -r1.18 thread.c
--- dlls/kernel/thread.c 14 Jun 2004 17:04:35 -0000 1.18
+++ dlls/kernel/thread.c 4 Jul 2004 20:23:01 -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
*/