wince write through

以前写过一个wince下面的性能测试工具,在进行文件读写操作的时候,创建文件,我同事使用了FILE_FLAG_WRITE_THROUGH和FILE_FLAG_NO_BUFFERING两个标志。后来有同事提出,wince下面不支持FILE_FLAG_NO_BUFFERING标志,所以也不支持文件的直接读写。
我当时的理解是,不支持FILE_FLAG_NO_BUFFERING标志,也就是说读写的时候一定有缓存区,也就没办法保证写入文件的数据会直接写到文件里面。
后来查了查资料,才发现自己理解有问题。虽然wince不支持FILE_FLAG_NO_BUFFERING,但是wince下面支持FILE_FLAG_WRITE_THROUGH,也就是说,虽然写的时候使用了缓存区,但是也可以保证写入的数据马上写入到了文件,而没有使用懒惰算法在那儿等待。MSDN中对FILE_FLAG_WRITE_THROUGH标志的说明如下:
Instructs the system to write through any intermediate cache and go directly to disk. The system can still cache write operations, but cannot lazily flush them

你可能感兴趣的:(WinCE)