ReadingCapabilities Property
The reading capabilities supported by the external storage.
Syntax
Default Value
0x418
Remarks
This property specifies any and all behaviors of the external storage which are relevant when reading data from it. The cache will automatically alter its own behavior based on this property's "description" of how the external storage is able to provide file data.
This property should be set by OR'ing together zero or more of the following flags:
RWCAP_CONTINUOUS_FROM_ZERO | 0x00000001 | No random access allowed; read/write operations must start at the beginning of a file. |
RWCAP_CONTINUOUS_FROM_END | 0x00000002 | Append only; write operations must start at the end of a file.
To overwrite a file, it must first be truncated, and then written to. (Truncation behavior is defined by the corresponding flags.) |
RWCAP_BLOCK_MULTIPLE | 0x00000004 | Reading/writing is possible at positions that are multiple of the corresponding block size.
The read and write block sizes are specified by the ReadBlockSize and WriteBlockSize properties. |
RWCAP_RANDOM | 0x00000008 | Reading/writing is possible at any position.
Note that other flags can still alter the positions at which reading/writing are possible. |
RWCAP_POSITION_ONLY_WITHIN_FILE | 0x00000010 | File position must remain in the range: 0 <= FilePos < FileSize |
RWCAP_POSITION_NOT_BEYOND_EOF_ON_WRITE | 0x00000020 | File position remain in the range: 0 <= FilePos <= FileSize
When writing, appending to the end of the file is supported, but writing at positions past the end of the file is not. |
RWCAP_SIZE_WHOLE_FILE | 0x00000100 | Only whole-file reads/writes are possible; partial reads/writes are not supported.
Notes:
|
RWCAP_SIZE_FIXED_BLOCK_WITH_TAIL | 0x00000200 | Reads/writes must be done in blocks of a fixed size, except for the last block, which may be of any size. |
RWCAP_SIZE_FIXED_BLOCK_NO_TAIL | 0x00000400 | Reads/writes must be done in blocks of a fixed size, including the last block.
Note: Real file sizes, if needed, must be stored elsewhere when using the cache with an external storage medium that has this characteristic. |
RWCAP_SIZE_ANY | 0x00000800 | Reads/writes may be done in blocks of any size. |
RWCAP_WRITE_TRUNCATES_FILE | 0x00001000 | When writes occur, the last data written becomes the new end of the file. Any overwritten data, and any data previously present after the written range, is lost. |
RWCAP_WRITE_KEEPS_FILESIZE | 0x00002000 | Normal writing behavior; i.e., writes do not alter a file's size (except possibly to expand it). |
RWCAP_NO_WRITE_BEYOND_EOF | 0x00004000 | Writes may not extend past the end of a file's current size (i.e., cannot cause a file to grow).
Applications may still adjust the file size beforehand. |
Note: This property cannot be changed when Active is true.