Получение IP-адреса с помощью UPnP InvokeAction ничего не возвращает, помогите?

По сути, когда я использую vb.net или c # .net для этого, он работает отлично, но когда я использую vb6, он не работает, в моем цикле for, где захватывается соответствующая служба в соответствующем устройстве, вот код, который не дает результата ...

      ' serv is properly declared and instantiated by the for loop.
      Dim xins(0)
      Dim xouts(0)

      MsgBox ("Starting..." & serv.ServiceTypeIdentifier & vbCrLf & serv.id & vbCrLf & serv.LastTransportStatus) ' all this shows correctly.

      serv.InvokeAction "GetExternalIPAddress", xins, xouts

      MsgBox (xouts(0)) ' this should print the ExternalIP, but prints an empty string.

По сути, xouts (0) должен содержать IP-адрес, но это не так (вместо этого - пустая строка, не выдается ошибка или исключение).

все остальные связанные с upnp.dll вещи работают, например: получение списка устройств и получение сервисов на каждом устройстве и т. д. ... никаких проблем, просто InvokeAction, похоже, не работает с сервисом, на котором я пытаюсь его использовать (который имеет тип"WANIPConnection:1" в устройстве типа"WANConnectionDevice:1") ...

вот подробности интерфейса для справки:http://msdn.microsoft.com/en-us/library/aa382237(VS.85).aspx

я попытался получить возвращаемое значение от InvokeAction (который показан как последний аргумент в объявлении интерфейса по ссылке, которую я только что предоставил, это в основном для пользователей C / C ++, в .NET и VB6, последний аргумент является возвращаемым значением) и даже не смог заставить это работать, может предоставить код о том, как я это сделал, если это необходимо, но я рад просто запустить его прямо, не ища возвращаемого значения, как это определено здесь следующим списком:http://msdn.microsoft.com/en-us/library/aa381160(v=VS.85).aspx и реальные данные, которые я ищу, должны быть в массиве xouts, в частности, xouts (0), есть ли у кого-нибудь указания на то, что это может быть?

проблема с брандмауэром может быть? Я работаю в повышенном режиме, и UPNP включен на устройстве (маршрутизаторе).

Обновление: vie заметил, что действие фактически выполняется / выполняется, но массив аргументов out (или аргумент ByRef в VB) не обновляется данными, что говорит о том, что комментарии markj о проблемах взаимодействия являются хорошим примером.

Ответы на вопрос(2)

Ваш ответ на вопрос