When the client no longer needs to make requests on the remote service, it sends the DeleteService message to the server to clean up the remote service. Clean up on the server entails removing the service handle from the set of currently instantiated remote services, and setting the Disconnect event (if one is specified at initialization). The result is that no more requests can be made on the remote service. (See figure in section 3.1.)
If this event occurs while the client is in the Accepting Requests state, the client MUST move to Finish state and return S_OK(0x00000000). Otherwise, the client returns an appropriate error code from the set of DSLR error codes defined in section 220.127.116.11.