J'ai une DLL écrit en C (que je ne peux pas modifier) qui a un certain prototype de fonction qui ressemble àpasse InputStream par la JNA au code C comme un fichier pointeur
#include <stdio.h>
void foo(FILE *bar);
Je voudrais pour créer une interface JNA à la DLL et il n'est pas clair ce que je dois passer pour l'argument barre FILE *. Je suppose que je dois passer un InputStream (qui est ma préférence), mais la littérature JNA semble rare sur le sujet.
À quoi ressemblerait l'interface Java? et qu'est-ce que j'ai vraiment besoin de passer à foo?
Édition: foo suppose que la barre est le résultat d'un fopen et appelle des opérations comme fscanf.
Édition 2: En fin de compte, j'ai une chaîne en Java que j'ai besoin de lire en C comme s'il s'agissait d'un fichier (ce qui pourrait être une question complètement différente). Idéalement, je voudrais éviter d'écrire le fichier, c'est pourquoi la conversion d'un InputStream en un pointeur de fichier C est si souhaitable (et évidemment assez difficile).
Je mis à jour ma réponse à nouveau –