Взаимодействие Java-кода с библиотекой .dll с com-интерфейсом

310
12 марта 2017, 05:12

Всем привет! Ребята, нужна ваша помощь: пишу программу на Java, которая взаимодействует с приложением через com-интерфейс (использую библиотеку jacob). Посмотрела com-интерфейс нужной .dll через OleView, никак не могу вызвать следующую функцию:

hidden, helpstring("Получить информацию")]
HRESULT get_PtyState(
[in] unsigned int nIndex, 
[in, out] tagPTY_STATE* pState);

Потому, что у меня нет объекта tagPTY_STATE pState. Получить его из приложения невозможно, нигде нет возвращаемого значения подобного типа, все библиотеки в приложении уже посмотрела. Зато в той же библиотеке есть вот такая структура:

typedef struct tagtagPTY_STATE {
unsigned long cbSize; 
unsigned int mask; 
unsigned long nPtyMsecs; 
unsigned long nPtyIntervalMsecs; 
unsigned int nNumber; 
unsigned int state; 
unsigned int stateMask;
} tagPTY_STATE;

Подскажите пожалуйста, как мне в моем Java-приложении создать объект, который был бы экземпляром этой структуры, чтобы потом, с помощью этого объекта вызвать функцию get_PtyState?

Answer 1

Класс будет такой:

class tagPTY_STATE {
    long cbSize,
            nPtyMsecs,
            nPtyIntervalMsecs;
    int nNumber,
            state,
            stateMask;
}
READ ALSO
Сохранение файла во внутреннюю память Android

Сохранение файла во внутреннюю память Android

Как сохранять файлы из приложения во внешнюю память понятно - getExternalStoragePublicDirectory()Но как сохранить файл во внутреннюю память? Если нет sd карты

346
java Hibernate setClienId и setClient

java Hibernate setClienId и setClient

Столкнулся с проблемой при создании классов из базы данныхПри генерации если отметить поле client_id и связь по этому полю типа один ко многим,...

253
Как работает рекурсивный generic?

Как работает рекурсивный generic?

У меня есть код, по которому я хочу разобраться, как работает рекурсивные genericsСмысл задачи в том, что-бы метод compareTo, принимал для сравнения,...

294
Определить, находится ли курсор в JTextField

Определить, находится ли курсор в JTextField

В общем, проблема такая: мне нужно проверить находится ли _курсор в объекте JTextField

300