0
喜堆棧溢出和對不起我的母語非英語水平的設備的UPNP服務無法重複使用Microsoft UPNP.DLL(C#,Visual Studio 2010中)
目前編程在C#項目UPnP發現服務在Visual Studio 2010上使用.NET 4.0。
我使用官方的Microsoft UPnP COM API,這是我第一次使用UPnP。我的問題是,我試圖迭代庫中發現的設備的服務,並拋出COM HRESUT:0X80040500異常。
這裏是我的代碼示例:
IList<UpnpDevice> result = new List<UpnpDevice>();
UPnPDevices upnpDiscoveryResult = m_UPnPFinder.FindByType(upnpType, 0);
var upnpDiscoveryResultEnumerator = upnpDiscoveryResult.GetEnumerator();
while (upnpDiscoveryResultEnumerator.MoveNext())
{
var upnpDiscoveryDevice = (IUPnPDevice)upnpDiscoveryResultEnumerator.Current;
UPnPServices services = upnpDiscoveryDevice.Services;
var allServices = services.GetEnumerator();
// ------ Exception is thrown just below
while (allServices.MoveNext())
{
UPnPService service = allServices.Current as UPnPService;
if (service.Id == "urn:schemas-upnp-org:service:WANIPConnection:1")
{
}
else if (service.Id == "urn:schemas-upnp-org:service:WANPPPConnection:1")
{
}
}
我迷失在做什麼。
根據這些人,我認爲我可以是具有同樣的錯誤......
- How do I access services of UPnP device?
- http://social.msdn.microsoft.com/Forums/en-US/b16a1e3b-9e85-480a-8240-82a2af73b924/could-not-iterate-upnp-services-of-a-device-using-microsoft-upnpdll)
...問題可能來自官方的DLL我想我應該更好地使用一個新的,但我想先問在這裏。對我來說這似乎很奇怪,這樣一個明顯的錯誤可能確實來自API。