<p>I cannot use the Resource File API from within a file system plugin due to a PlatSec issue:</p>

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

<p>My understanding of the issue is that:</p>

<p>File system plugins are dlls which are executed within the context of the file system process.  Therefore all file system plugins must have the <code>TCB</code> PlatSec privilege which in turn means they cannot link against a dll that is not in the <code>TCB</code>.</p>

<p>Is there a way around this (without resorting to a text file or an intermediate server)? I suspect not - but it would be good to get a definitive answer.</p>

The Symbian file server has the following capabilities:
```
```
TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
```
```
So any DLL being loaded into the file server process must have at least these capabilities. There is no way around this, short of writing a new proxy process as you allude to.
However, there is a more fundamental reason why you shouldn't be using
```
bafl.dll
```
from within a fileserver plugin: this DLL provides utility functions which interface to the file servers client API. Attempting to use it from within the filer server will not work; at best, it will lead to the file server deadlocking as it attempts to connect to itself.
I'd suggest rethinking that you're trying to do, and investigating an internal file-server API to achieve it instead.