2.2 Message Syntax

The Device Services Lightweight Remoting Protocol uses a tag-based formatting for its messages; see [MS-DSLR] for details of the tag formats.

The Device Media Control Protocol messages MUST follow the Device Services Lightweight Remoting Protocol message syntax for requests and responses, as specified in [MS-DSLR] section 2.2.2.

The Device Services Lightweight Remoting Protocol payload for a request is defined by the Device Services Lightweight Remoting Protocol Dispatcher Request tag payload, followed by the child payload for a given message (that is, the function parameters for the given message). The Request tag payload includes the service handle for the specific service (see section 1.5 for how this service handle is obtained), the function handle for the specific function being called on that service (defined by the service), the calling convention for that function, and a one-time request handle allocated by the client for each request. See section 2.2.1 for the format of the Device Services Lightweight Remoting Protocol Dispatcher Request tag payload.

The Device Services Lightweight Remoting Protocol payload for a response is defined by the Device Services Lightweight Remoting Protocol Dispatcher Response tag payload, followed by the child payload a given message (that is, the result and return parameters for the given message). The Response tag payload includes the callingConvention and the matching one-time request handle to which this response corresponds. See section 2.2.1 for the format of the Device Services Lightweight Remoting Protocol Dispatcher Response tag payload.

The format of the data types for input and output parameters for the following functions are defined in [MS-DSLR]; see section 2.2.2 for valid input/output parameters and how they are formatted on the wire (big-endian or little-endian). All numeric data are big-endian byte-oriented.

For more details on the Device Services Lightweight Remoting Protocol message syntax, see [MS-DSLR].