Implemented inter-thread SendMessageCallback.
diff --git a/server/protocol.def b/server/protocol.def
index c3e37cc..bf672b7 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1574,6 +1574,7 @@
unsigned int time; /* message time */
unsigned int info; /* extra info */
int timeout; /* timeout for reply */
+ void* callback; /* callback address */
VARARG(data,bytes); /* message data for sent messages */
@END
@@ -1583,6 +1584,7 @@
MSG_UNICODE, /* Unicode message (from SendMessageW) */
MSG_NOTIFY, /* notify message (from SendNotifyMessageW), always Unicode */
MSG_CALLBACK, /* callback message (from SendMessageCallbackW), always Unicode */
+ MSG_CALLBACK_RESULT,/* result of a callback message */
MSG_OTHER_PROCESS, /* sent from other process, may include vararg data, always Unicode */
MSG_POSTED, /* posted message (from PostMessageW), always Unicode */
MSG_HARDWARE /* hardware message */
@@ -1600,12 +1602,12 @@
int type; /* message type */
user_handle_t win; /* window handle */
unsigned int msg; /* message code */
- unsigned int wparam; /* parameters */
- unsigned int lparam; /* parameters */
+ unsigned int wparam; /* parameters (callback function for MSG_CALLBACK_RESULT) */
+ unsigned int lparam; /* parameters (result for MSG_CALLBACK_RESULT) */
int x; /* x position */
int y; /* y position */
unsigned int time; /* message time */
- unsigned int info; /* extra info */
+ unsigned int info; /* extra info (callback argument for MSG_CALLBACK_RESULT) */
size_t total; /* total size of extra data */
VARARG(data,bytes); /* message data for sent messages */
@END