server: Return the data for winevent hooks in the varargs part of the get_message request.
diff --git a/server/protocol.def b/server/protocol.def
index 80a4af4..02a95c0 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -172,6 +172,21 @@
int bottom;
} rectangle_t;
+/* structures for extra message data */
+struct winevent_msg_data
+{
+ user_handle_t hook; /* hook handle */
+ thread_id_t tid; /* thread id */
+ void *hook_proc; /* hook proc address */
+ /* followed by module name if any */
+};
+
+typedef union
+{
+ unsigned char bytes[1]; /* raw data for sent messages */
+ struct winevent_msg_data winevent;
+} message_data_t;
+
/* structure for console char/attribute info */
typedef struct
{
@@ -1627,13 +1642,11 @@
unsigned long info; /* extra info (callback argument for MSG_CALLBACK_RESULT) */
int x; /* x position */
int y; /* y position */
- user_handle_t hook; /* winevent hook handle */
- void* hook_proc; /* winevent hook proc address */
unsigned int time; /* message time */
unsigned int hw_id; /* id if hardware message */
unsigned int active_hooks; /* active hooks bitmap */
data_size_t total; /* total size of extra data */
- VARARG(data,bytes); /* message data for sent messages */
+ VARARG(data,message_data); /* message data for sent messages */
@END
#define GET_MSG_REMOVE 1 /* remove the message */
#define GET_MSG_SENT_ONLY 2 /* only get sent messages */