相关疑难解决方法(0)

如何创建临时文件(0x100)以加速应用程序

我已经看到Windows系统使用临时文件来提高某些任务的性能.当我查看它们时,这些文件标有0x100属性.我收到了微软的以下文字:"

通过使用带有FILE_ATTRIBUTE_TEMPORARY标志的CreateFile(),您可以让系统知道该文件可能是短暂的.临时文件创建为普通文件.系统需要对文件系统进行最少量的延迟写入,以保持磁盘结构(目录等)的一致性.这给出了文件已写入磁盘的外观."

使用Delphi创建这样的临时文件的任何例子?

谢谢.

[编辑]

补充问题:可能是使用此类文件的上下文,例如,它可以用于日志系统.日志是这个文件的临时属性?当日志变得非常大时,它会更快,更少内存吗?

[编辑]

好的,我使用下面的schnaader给出的解决方案使用FILE_ATTRIBUTE_TEMPORARY创建文件:

hMyFile := CreateFile(FileName,
                      GENERIC_WRITE,
                      0,
                      nil,
                      CREATE_ALWAYS,
                      FILE_ATTRIBUTE_TEMPORARY,
                      0); 
Run Code Online (Sandbox Code Playgroud)

这样的文件在创建时获得0x120属性.因此根据系统的临时文件.

我还创建了一个带有FILE_FLAG_DELETE_ON_CLOSE标志的文件(请参阅L. Osterman撰写的这篇文章).

所以:

hMyFile := CreateFile(FileName,
                      GENERIC_WRITE,
                      0,
                      nil,
                      CREATE_ALWAYS,
                      FILE_FLAG_DELETE_ON_CLOSE,
                      0);
Run Code Online (Sandbox Code Playgroud)

此文件没有属性,并且在关闭或销毁应用程序时会自动删除该文件.

我没有找到如何组合属性和标志.任何的想法?

谢谢

delphi temporary-files

6
推荐指数
1
解决办法
3449
查看次数

标签 统计

delphi ×1

temporary-files ×1