On 5/14/21 9:38 PM, Alexandre Julliard wrote:
Rémi Bernon rbernon@codeweavers.com writes:
@@ -302,6 +302,9 @@ union rawinput unsigned int param; /* rawinput message param */ unsigned short usage_page;/* HID usage page */ unsigned short usage; /* HID usage */
unsigned int length; /* HID report length */
int __pad;
/* followed by length bytes of HID report data */
That's not true in server requests, I don't think we should pretend that it is. The report data should be declared as a separate VARARG field in the request, and use a separate pointer where necessary. The length can probably be stored separately as well.
Yes, I think I had it like that at some point, it probably got lost somewhere.
I understand that this is only for the send_hardware_message request? I don't see how to do that for get_message request or get_rawinput_buffer, where the replied message data (or message buffer) is already a VARARG, and for which we reply a struct hardware_msg_data, followed by extra bytes for the hid report?