[2/2] user32: make wineserver calls to get and set window droptargets [try 2]
Damjan Jovanovic
damjan.jov at gmail.com
Sat Feb 6 04:06:00 CST 2010
Changelog:
* user32: make wineserver calls to get and set window droptargets
Get and set the window drop targets from user32.dll, and not ole32.dll
like in try 1.
Damjan Jovanovic
-------------- next part --------------
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index 7f87a20..d713707 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -771,6 +771,9 @@
@ stdcall wvsprintfA(ptr str ptr)
@ stdcall wvsprintfW(ptr wstr ptr)
+@ cdecl wine_set_window_droptarget(long ptr long)
+@ cdecl wine_get_window_droptarget(long ptr long)
+
################################################################
# Wine dll separation hacks, these will go away, don't use them
#
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index acf70a3..4f8e842 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -3491,3 +3491,41 @@ LONG_PTR WINAPI SetWindowLongPtrA( HWND hwnd, INT offset, LONG_PTR newval )
{
return WIN_SetWindowLong( hwnd, offset, sizeof(LONG_PTR), newval, FALSE );
}
+
+/*****************************************************************************
+ * wine_set_window_droptarget (USER32.@) Not a Windows API
+ */
+NTSTATUS wine_set_window_droptarget(HWND hwnd, char *buffer, size_t size)
+{
+ NTSTATUS status;
+
+ SERVER_START_REQ( set_window_droptarget )
+ {
+ req->handle = wine_server_user_handle( hwnd );
+ wine_server_add_data( req, buffer, size );
+ status = wine_server_call( req );
+ }
+ SERVER_END_REQ;
+
+ return status;
+}
+
+/*****************************************************************************
+ * wine_get_window_droptarget (USER32.@) Not a Windows API
+ */
+size_t wine_get_window_droptarget(HWND hwnd, char *buffer, size_t size)
+{
+ NTSTATUS status;
+ size_t replySize;
+
+ SERVER_START_REQ( get_window_droptarget )
+ {
+ req->handle = wine_server_user_handle( hwnd );
+ wine_server_set_reply( req, buffer, size );
+ status = wine_server_call( req );
+ replySize = wine_server_reply_size( req );
+ }
+ SERVER_END_REQ;
+
+ return replySize;
+}
More information about the wine-patches
mailing list