String - соответствующее отображение для LPCSTR.JNA преобразует модифицированные символы UTF16 в NUL-концевой буфер байтов, используя кодировку платформы по умолчанию.
Вместо этого вы можете попытаться передать явный байтовый массив (используя приведенное выше сопоставление альтернативного метода), что устранит вероятность неправильной проблемы кодирования, например
byte[] arg = { (byte)'f', (byte)'o', (byte)'o', (byte)0 };
кодировка, используемая установкой системного свойства "jna.encoding".
Вы также должны исключить возможность того, что "LPCSTR" на самом деле является неправильным типом;если функция ожидает буфер, в который она может записать, String не будет работать, а если это фактически LPTCSTR и вы используете UNICODE, то вам нужно вместо этого передать WString.