私は、Google Chrome 用の C ベースのネイティブ クライアント モジュールに取り組んできました。NaCl システムによって呼び出されるモジュール関数の多くには、モジュール インスタンスを一意に識別する PP_Instance のパラメーターがあります。
私の質問: ユーザー データをこのインスタンス ハンドルに関連付ける方法はありますか?
C API は、それが不透明なハンドルであることを指定します。ユーザー データをハンドルにリンクする機能はありません。現在、モジュール内で一連のグローバル変数を使用して、関数間で状態を共有する必要があります。それは正しい解決策のようには感じません。複数のインスタンスがプロセス空間を共有するかどうかはわかりませんが、ここでは何も仮定していません。
グローバル スコープ内に存在する一意のコンテキストにインスタンスをマップするために、ある種のルックアップ テーブルを実装できると思います。しかし、それは C ベースの API には不要なようにも思えます。C++ API は、そのクラスによってこれを回避します。