server: Return the data for callback results in the varargs part of the get_message request.
diff --git a/server/protocol.def b/server/protocol.def
index 02a95c0..6358efe 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -173,6 +173,14 @@
} rectangle_t;
/* structures for extra message data */
+
+struct callback_msg_data
+{
+ void *callback; /* callback function */
+ unsigned long data; /* user data for callback */
+ unsigned long result; /* message result */
+};
+
struct winevent_msg_data
{
user_handle_t hook; /* hook handle */
@@ -184,6 +192,7 @@
typedef union
{
unsigned char bytes[1]; /* raw data for sent messages */
+ struct callback_msg_data callback;
struct winevent_msg_data winevent;
} message_data_t;
@@ -1637,9 +1646,9 @@
int type; /* message type */
user_handle_t win; /* window handle */
unsigned int msg; /* message code */
- unsigned long wparam; /* parameters (callback function for MSG_CALLBACK_RESULT) */
- unsigned long lparam; /* parameters (result for MSG_CALLBACK_RESULT) */
- unsigned long info; /* extra info (callback argument for MSG_CALLBACK_RESULT) */
+ unsigned long wparam; /* parameters */
+ unsigned long lparam; /* parameters */
+ unsigned long info; /* extra info */
int x; /* x position */
int y; /* y position */
unsigned int time; /* message time */