On Thu, Aug 29, 2013 at 10:38 PM, Charles Davis cdavis5x@gmail.com wrote:
To add a new request to the server, you first add a definition to server/protocol.def . This file is processed by the make_requests tool, which generates a bunch of other files from it. The syntax of the server protocol definition file is somewhat like Objective-C (if you've ever used or seen that). A typical server request definition looks like this:
@REQ(request_name) /* input parameters go here */ int input; obj_handle_t handle; /* don't use Windows types */ @REPLY /* output values go here */ int output; @END
Thanks for the information, before sending the email I tried making the DECL_HANDLER and used with SERVER_START_REQ but I was not aware of the server/protocol.def so it was not working.
There's lots of examples throughout Wine of this in action, especially in lower-level DLLs like ntdll and kernel32; I encourage you to look at them. (That's how I figured all this out, after all.) If you have any more questions (and not just because you were too lazy to even look ;), feel free to ask.
Chip
Thank you again, I guess now I can do it correctly. Basically it's the opposite of the create_socket message. http://source.winehq.org/source/server/protocol.def#L1131
Regards, Bruno