Use these attributes to control how your data is transmitted over the wire:
Attribute | Usage |
---|---|
encode decode |
Instruct MIDL to expose the type or procedure serialization (pickling) routines it generates for the stubs. Your client application can call those routines to marshal data by value. |
represent_as | Use to specify how a data type will be represented on the wire, when the exact nature of a client's data type is unimportant to the server (because it only needs the data itself and not the actual structure), or the actual client type is unknown to MIDL at compile time. For example, if your client application uses a linked list of floating-point numbers, you could specify that the wire-representation of that list be an array of type float. |
user_marshal | Lets you control how data is transmitted over the wire by implementing your own marshaling routines. This attribute is useful if you have a data type that is unknown to MIDL or if you are passing information between big-endian and little-endian platforms. |
The DCE marshaling attributes in_line and out_of_line are not implemented in Microsoft RPC. The MIDL compiler automatically marshals complex data types out-of-line.