У меня есть структура, которая не полностью описана как оригинальная Си.
public class DISPLAY_DEVICE extends Structure {
public char DeviceName[] = new char[32];
public int StateFlags;
}
В то время как на самом деле нужно больше переменных.Однако мне потребуется много времени, чтобы перенести их все.Теперь я создаю структуру и передаю указатель на функцию dll и пытаюсь использовать device.read ();восстановить переменные.Однако переменные возвращают пустые.Итак, мой вопрос, мне нужно заполнить всю структуру?Или что-то еще не так?
DISPLAY_DEVICE displayDevice = new DISPLAY_DEVICE();
int i = 0;
while((CLibrary.INSTANCE.EnumDisplayDevicesA(Pointer.NULL, i, displayDevice.getPointer(), 0))) {
System.out.println("screen" + i);
displayDevice.read();
System.out.println(displayDevice.StateFlags);
System.out.println(displayDevice.DeviceName);