呼び出された関数によって割り当てられたメモリブロックから情報を取得することに問題があります。具体的には、JNAに付属するX11ライブラリに関数XGetWindowProperties
があります。最後のパラメータ-を介して結果を返します。JNA経由で配列を取得する
私は実際のメモリ領域がWindow
の配列を含んでいることを知っています。しかし、どうすればそれらのオブジェクトを作成できますか?私はWindow
のサイズを知らないので、ポインタ自体からそれを得る方法は見当たりませんし、Buffer
を得ることができません。
実際の関数はint XGetWindowProperty(...., unsigned char **prop_return)
で、これを呼び出すパラメータは実際にはint XGetWindowProperty(...., Window *prop_return[])
です。
これは私の直面する問題を解決しますが、PointerByReferenceから既知のネイティブマップされたタイプの配列に移動する一般的な解決方法を見たいと思います。 – viraptor
ええ、私はJNAの質問に答えることはできません、Xlibの質問のみです。 fwiw "Window"は単なる整数IDであり、意味のある意味でのオブジェクトではありません。 –