Zugriff auf Router via UPnP

16/10/2008 - 23:21 von Dennis Hückelheim | Report spam
Hallo NG,

ich würde gerne meinen Router via UPnP abfragen. Ich verwende dazu die
UPnPLib (upnp.dll). Langsam glaube ich aber verrückt zu werden. Ich
frage den WANIPConnection Dienst ab:

Private Sub btnService_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnService.Click
Dim tmp As Collection = Me.trvDevices.SelectedNode.Tag
Dim oService As UPNPLib.UPnPService = tmp.Item("object")

Dim vIn(0) As Object
Dim vOut(0) As Object
Dim sValue As String = ""
Dim iRet As Integer

oService.AddCallback(iRet)
Try
oService.InvokeAction(Me.txtParamOne.Text, vIn, vOut)
sValue = oService.QueryStateVariable(Me.txtParamTwo.Text)
AddLog(sValue)
Catch ex As Exception
AddLog("Fehler beim Abfragen von '" & Me.txtParamOne.Text &
"/" & Me.txtParamTwo.Text & "' an '" & oService.ServiceTypeIdentifier &
"': " & ex.ToString())
End Try
End Sub


Wenn ich nun in txtParamOne "GetStatusInfo" eingebe und in txtParamTwo
"ConnectionStatus" bekomme ich "Connected". Frage ich andere Parameter
ab (z.B. txtParamTwo="Uptime"), bekomme ich eine Exception:

Fehler beim Abfragen von 'GetStatusInfo/Uptime' an
'urn:schemas-upnp-org:service:WANIPConnection:1':
System.Runtime.InteropServices.COMException (0x80040214): Ausnahme von
HRESULT: 0x80040214
bei UPNPLib.IUPnPService.QueryStateVariable(String bstrVariableName)
bei WindowsApplication1.frmMain.btnService_Click(Object sender,
EventArgs e) in D:\...\Form1.vb:Zeile 116.

Hat irgendjemand eine Idee, was hier passiert? Ich durchsuche schon seit
Tagen das Web, aber da làsst sich so gut wie nichts zu finden. Habe
schon versucht vOut größer zu machen (vOut(5)), aber nichts funktioniert :-(

Gruß,
Dennis
 

Lesen sie die antworten

#1 Armin Zingler
17/10/2008 - 00:01 | Warnen spam
"Dennis Hückelheim" schrieb
Fehler beim Abfragen von 'GetStatusInfo/Uptime' an
'urn:schemas-upnp-org:service:WANIPConnection:1':
System.Runtime.InteropServices.COMException (0x80040214): Ausnahme von
HRESULT: 0x80040214
bei UPNPLib.IUPnPService.QueryStateVariable(String bstrVariableName)
bei WindowsApplication1.frmMain.btnService_Click(Object sender,
EventArgs e) in D:\...\Form1.vb:Zeile 116.

Hat irgendjemand eine Idee, was hier passiert? Ich durchsuche schon seit
Tagen das Web, aber da làsst sich so gut wie nichts zu finden. Habe schon
versucht vOut größer zu machen (vOut(5)), aber nichts funktioniert :-(



Ich weiß nicht, ob dir - im Gegensatz zu mir - die Meldung etwas sagt, aber
bei mir lautet der Text zu 0x80040214:
"Quality messages could not be sent because no quality sink has been
defined."


Armin

Ähnliche fragen