我正在尝试使用 UPnP 协议使用 C#.net 应用程序与兼容 dlna 的设备进行通信。我正在使用默认的 Visual Studio UPnP 库(“UPnP 1.0 类型库(控制点)”)。我列出了所有使用 UPNPDeviceFinder.FindByType 的渲染设备。一切正常...
现在我使用以下函数获得 AVTransport 服务:
public UPnPService GetAVTransport(UPnPDevice mediaDevice)
{
foreach (UPnPService service in mediaDevice.Services)
{
Debug.Print(service.ServiceTypeIdentifier);
if (service.ServiceTypeIdentifier == "urn:schemas-upnp-org:service:AVTransport:1")
{
return service;
}
}
return null;
}
我尝试向这样的设备发送播放命令:
Service = GetAVTransport(Device);
object[] input = new object[2]
{
"0", // Object Id
"1" // Speed
};
object output = new object();
Service.InvokeAction("Play", input, ref output);
在最后一行,我收到以下错误:
COMException:PerUser 订阅的所有者未登录到指定的系统(来自 HRESULT 的异常:0x80040210)
这是什么意思。完全不清楚为什么会发生此异常。
谢谢,托马斯