File Systems (Compact 2013)
3/26/2014
Windows Embedded Compact includes support for several file systems, including three types of File Allocation Table (FAT) file systems. File I/O functions permit applications to access files, regardless of the underlying system.
Windows Embedded Compact supports two kinds of file systems:
- File systems controlled by file system drivers (FSDs)
Because FSD-managed file systems are the preferred file system type, Windows Embedded Compact includes file system drivers for a variety of file systems. In addition, embedded systems developers can create and register proprietary file systems. Regardless of the type of storage, all file systems are accessed through the Win32 file system API. - Registered file systems
The file system drivers loaded in this way include the release directory file system (RELFSD), the object store (RAM) file system, and the ROM file system.
You can also create your own specialized file system. For example, you can use installable file systems to take advantage of special functionality provided by a new type of storage hardware, or to restrict what you can do with the files on standard device storage hardware.
Windows Embedded Compact includes two kinds of file caching services: file caching and disk caching.
File cache services are provided by the file system cache manager. The cache manager is a file system filter that can be applied to any file system driver (FSD) without making modifications to the FSD. The file system cache manager caches only file data.
Disk cache services are provided through a helper library that an FSD can link with to provide disk caching services to file systems. Typically, an FSD uses disk cache to cache file system metadata, such as directory entries. Disk cache also provides services for file contents.
A file system filter is a DLL that exports file system entry points. These entry points map to the standard file system functions, such as CreateFile and CreateDirectory. Because file system filters intercept file system calls, you can use this mechanism to encrypt, compress, or scan any file system for viruses, provided the file system is loaded by FSD Manager. Multiple filters can exist on any file system loaded by FSD Manager, performing file manipulation before the file system sees the call.
The following table shows the file systems that Windows Embedded Compact reads, writes and formats on the various Windows Embedded Compact device types.
Device type |
Formatting support |
Read and write support |
---|---|---|
Hard Drive |
FAT32, exFat, TexFAT |
FAT12, FAT16, FAT32, exFAT, TexFAT |
SD Card |
FAT32, exFat, TexFAT |
FAT12, FAT16, FAT32, exFAT, TexFAT |
USB drive |
FAT32, exFat, TexFAT |
FAT12, FAT16, FAT32, exFAT, TexFAT |
RAM Drive |
FAT32, exFat, TexFAT |
FAT32, exFAT, TexFAT |
CD/DVD |
None |
CDFS |
Other |
None |
UFDS |
Note
For exFat and TexFat, the FAT version (in FORMAT_OPTIONS) is 32.
To add this feature to your OS, see CDFS/UDFS File Systems Catalog Items and Sysgen Variables
For reference information, see FAT File System Reference, File Systems and Storage Management Registry Settings, File System Password Reference, and Copy External Reference.
Sample application code is available at %_WINCEROOT%\Public\Common\Oak\Drivers\FSD\EncFilt and %_WINCEROOT%\Public\Common\Oak\Drivers\FSD\FSDSpy.