jna调用dll,如何获取lpstr类型的传出参数

dll中函数的描述

function SendRcvB(pDataInput: LPSTR;
  iDataInputLen: LongInt;
  pDataOutput: LPSTR;
  iDataOutputLen: LongInt): LongInt; stdcall;
pDataInput:传入参数,SSSS...ZZZZ
iDataInputLen:传入参数的长度
pDataOutput: 传出参数,RRRR...ZZZZ
iDataOutputLen:传出参数的长度
返回值:0:正常;-1:连接错误;-9:传入消息错误或者获取配置错误

jna中对应的定义

public String SendRcvB(String pDataInput,Integer iDataInputLen,String pDataOutput,Integer iDataOutputLen);

看到调用需要给 传出参数分配内存空间,java应该怎么写呢定义一个空的byte数组吗?

里边只给了Delphi的例子 GetMem(pDataOutput, 4096);
请问这个用java怎么写

已经找到了办法
使用byte[] output = new byte[4096];声明返回参数就可以了

Windows API函数 GetWindowText 就是传出 lpStr 类型的,所以你可以参考下面代码
https://cloud.tencent.com/developer/ask/143044
对 GetWindowText 的调用。