For the Device Media Control Protocol to function properly, the following assumptions are required:
A network connection has been established between the host and the client (extender device).
The Device Services Lightweight Remoting Protocol modules have been initialized and started on both devices. Once completed, the proxy side must call the CreateService message to instantiate the service on the stub side, and create a proxy for that service (that is, an object that implements the proxied service's interfaces). As part of the CreateService request, it allocates a service handle that is sent to the stub side. This handle will subsequently be used when calling functions on the service and to terminate the service via the DeleteService message.
The following class/service GUIDS are passed in the CreateService message (see [MS-DSLR] section 22.214.171.124) and the DeleteService message (see [MS-DSLR] section 126.96.36.199) messages for the Media Controller service:
ClassID GUID: 18c7c708-c529-4639-a846-5847f31b1e83.
ServiceID GUID: 601df477-89b6-43b4-95bc-50e8dfef12eb.
The following class/service GUIDS are passed in the CreateService and DeleteService messages for the Media Event callback event:
ClassID GUID: This GUID is newly generated each time.
ServiceID GUID: 6d72a615-ca26-4420-95ac-4e4695991015.
RTSP or HTTP server and client engines have been initialized and started on both devices.
The player and player controller have been initialized and started on both devices.
Figure 2: Relationships between host computer and extender device