COM tried to help by providing the nearest known text message, but instead it confused you. The problem is that your HRESULT object code is 004, which means FACILITY_ITF, which means ANY COM interface interface. As stated explicitly in the COM error code doc :
two HRESULT with exactly the same 32-bit value returned from two different interfaces can have different values
Code 210 means different things for each interface. COM chose EVENT_E_PER_USER_SID_NOT_LOGGED_ON , which is not associated with UPnP at all. He should only tell you the code or be smart enough to know that in UPnP this means UPNP_E_ACTION_REQUEST_FAILED . I found that mapping code in UPnP.h from the Windows C ++ SDK, dunno, where C # is looking for it. With any additional COM exceptions, ignore the text and just browse the code in the list of errors specific to the UPnP method you just called. Again, the same code may have a slightly different meaning in different UPnP methods.
Now about the reason for the failure of the request on the device. I bet you won't name any SetAVTransport action, so the device just doesn't know what to play, and TransportState is NO_MEDIA. If you donβt like learning how to use the AVTransport service AVTransport and just want your MediaRenderer to do something magically, try the RenderingControl service. SetMute and SetVolume should be there for sure, setting RGB levels is also very interesting, but may not be provided by your specific visualization device.
If in doubt, use the powerful DeviceSpy Intel Developer Tools .
source share