1

JNA を使用して Carbon API を呼び出しています。呼び出したい特定の API 呼び出しは、パラメータとして CFBooleanRef を取ります。値 kCFBooleanTrue と kCFBooleanFalse は、ヘッダー ファイルで直接外部参照として宣言されます。

API 呼び出しに値を渡すことができるように、Java 側でこれら 2 つの値への参照を取得するにはどうすればよいですか?

4

1 に答える 1

3

まあ、これは何の答えも得られていないので、他の誰かがこれを行う必要がある場合に備えて、私が思いついた解決策を書き留めるだけです:

最終的にRococoaを使用して独自のバージョンのNSNumberを実装し、その中でnumberWithBoolメソッドを呼び出して、NSBooleanのインスタンスを取得できるようにしました。その後、CFBooleanとして使用できます。

public interface MyNSNumber extends NSObject {
    public static final _Class CLASS = Rococoa.createClass("NSNumber", _Class.class);

    public interface _Class extends NSClass {
        ID numberWithBool(boolean value);
    }
}
于 2010-01-13T04:56:32.100 に答える