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

前端之家收集整理的这篇文章主要介绍了delphi – 如何创建临时文件(0x100)以加速应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看到 Windows系统使用临时文件来提高某些任务的性能.当我查看它们时,这些文件标有0x100属性.我收到了微软的以下文字:“

By using CreateFile() with the
FILE_ATTRIBUTE_TEMPORARY flag,you let
the system know that the file is
likely to be short lived. The
temporary file is created as a normal
file. The system needs to do a minimal
amount of lazy writes to the file
system to keep the disk structures
(directories and so forth) consistent.
This gives the appearance that the
file has been written to the disk
.”

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

谢谢.

[编辑]

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

[编辑]

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

hMyFile := CreateFile(FileName,GENERIC_WRITE,nil,CREATE_ALWAYS,FILE_ATTRIBUTE_TEMPORARY,0);

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

我还创建了一个带有FILE_FLAG_DELETE_ON_CLOSE标志的文件(see this article by L. Osterman).

所以:

hMyFile := CreateFile(FileName,FILE_FLAG_DELETE_ON_CLOSE,0);

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

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

谢谢

解决方法

那么,使用CreateFile()方法怎么样?
var
  FileName : PChar;
  hMyFile : THandle;

...

hMyFile := CreateFile(FileName,0); 

if (hMyFile = INVALID_HANDLE_VALUE) then begin
  // Error
end;

...

CloseHandle(hMyFile);

要将标志与FILE_FLAG_DELETE_ON_CLOSE结合使用,请使用或:

hMyFile := CreateFile(FileName,FILE_ATTRIBUTE_TEMPORARY or FILE_FLAG_DELETE_ON_CLOSE,0);

猜你在找的Delphi相关文章