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)
これは何を意味するのでしょうか。この例外が発生する理由はまったく不明です。
ありがとう、トーマス