1

PlatSec の問題により、ファイル システム プラグイン内からリソース ファイル API を使用できません。

*PlatSec* ERROR - Capability check failed - Can't load filesystemplugin.PXT because it links to bafl.dll which has the following capabilities missing: TCB 

この問題についての私の理解は次のとおりです。

ファイル システム プラグインは、ファイル システム プロセスのコンテキスト内で実行される dll です。したがって、すべてのファイル システム プラグインにはTCBPlatSec 特権が必要であり、TCB.

これを回避する方法はありますか (テキスト ファイルや中間サーバーに頼ることなく)。私はそうは思わない - しかし、決定的な答えを得ることは良いことだ.

4

4 に答える 4

3

Symbianファイルサーバーには次の機能があります。

TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD

したがって、ファイルサーバープロセスにロードされるDLLには、少なくともこれらの機能が必要です。あなたがほのめかしているように、新しいプロキシプロセスを書く以外に、これを回避する方法はありません。

bafl.dllただし、ファイルサーバープラグイン内から使用してはならないより根本的な理由があります。このDLLは、ファイルサーバークライアントAPIにインターフェイスするユーティリティ関数を提供します。ファイラーサーバー内から使用しようとしても機能しません。せいぜい、それ自体に接続しようとするときにファイルサーバーがデッドロックすることになります。

あなたがやろうとしていることを再考し、代わりにそれを達成するために内部ファイルサーバーAPIを調査することをお勧めします。

于 2008-09-18T16:29:24.027 に答える
1

ファイル サーバー プラグイン内から RFs/RFile/RDir API を使用することは安全ではなく、十分に注意しないとデッドロックが発生する可能性があります。

Symbian 9.5 では、代わりに使用する必要がある新しい API (RFilePlugin、RFsPlugin、および RDirPlugin) が導入されます。

于 2008-09-18T16:34:40.410 に答える
0

プラグイン、RPlugin と通信するための適切なメカニズムがあります。

RFile を使用しないでください。プラグインスタックの前に呼び出されるRFile関数の初期化でパスがチェックされるため、それが機能するかどうかさえわかりません。

于 2008-09-19T09:05:09.187 に答える
-1

リソース ファイルに格納するデータの種類を教えてください。

リソース ファイルに通常入るものは、いくつかの値をハードコーディングすることを意味する場合でも、ファイル サーバー プラグインには配置されません。

技術的には、RFile.Write() を使用してファイル サーバー プラグインにデータを送信できますが、これは優れたソリューションではありません (プラグインで RFile.Open("プラグインのみが理解する無効なファイル名") をインターセプトします)。編集: 誰かが、無効なファイル名を使用するとプラグインにデータを送信できないことを示しました。ねえ、私もその解決策が好きではありませんでした。完全を期すために、明確にする必要があります。プラグインを通過するのに十分なように見えるファイル名を作成します。実際のドライブが接続されていないドライブ文字を使用するようなものです (ただし、ファイル名解析コードによって正しいと見なされます)。

プラグインでリソース ファイルのバイナリを解析するコードを記述することは、理論的には可能ですが、優れたソリューションではありません。

于 2008-09-18T17:08:47.737 に答える