У меня есть DLL, написанная на C (которую я не могу редактировать), которая имеет некоторый прототип функции, который выглядит как
#include <stdio.h>
void foo(FILE *bar);
Я хотел бы создать интерфейс JNA для DLL, и неясно, что мне нужно передать для аргумента FILE *bar. Я предполагаю, что мне нужно передать InputStream (что я предпочитаю), но литература JNA кажется скудной по этому вопросу.
Как будет выглядеть интерфейс Java? и что мне действительно нужно передать foo?
Редактировать: foo предполагает, что bar является результатом fopen и вызывает такие операции, как fscanf.
Редактировать 2: В конце концов, у меня есть строка на Java, которую мне нужно прочитать на C, как если бы это был файл (что может быть совсем другим вопросом). В идеале я бы хотел избежать записи файла, поэтому преобразование InputStream в указатель файла C так желательно (и, очевидно, довольно сложно).