Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Опрос состояния абонентов COM-сервера


Автор: Playmo 29.3.2018, 08:16
Добрый день!
Имеется COM-сервер (dll во вложении, архив cmt.zip), в нем реализован интерфейс ICmtControl (в архив cmt поместил word файл с описанием методов интерфейса), пытаюсь использовать метод GetAbonentState, для того, чтобы получить состояние абонентов. Попробовал следующий код:

Private Sub Button4_Click(sender As Object, e As EventArgsHandles Button4.Click
        Dim abonents As New ICmtControl
        Dim pdwCount As UInteger
        Dim savep As New SABONENT_STATE
        Dim ppAbonentState As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(savep))
        abonents.GetAbonentState(pdwCount, ppAbonentState)
        savep = CType(Marshal.PtrToStructure(ppAbonentState, GetType(SABONENT_STATE)), SABONENT_STATE)
        TextBox9.Text = savep.Name
        Marshal.FreeCoTaskMem(ppAbonentState)
    End Sub
В результате в tetxtbox выводит иероглифы не читаемые. В общем метод GetAbonentState возвращает кол-во абонентов и указатель на массив структур, помогите разобраться с этим указателем.
Спасибо!

Автор: _zorn_ 2.4.2018, 16:17
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)