Como criar um arquivo temporário (0x100) para acelerar o aplicativo
Eu vi que o sistema Windows usa arquivos temporários para aumentar o desempenho de algumas tarefas. Esses arquivos são marcados com o atributo 0x100 quando olho para eles. Eu tenho o seguinte texto da Microsoft: "
Usando CreateFile () com o sinalizador FILE_ATTRIBUTE_TEMPORARY, você informa ao sistema que o arquivo provavelmente terá vida curta. O arquivo temporário é criado como um arquivo normal. O sistema precisa fazer uma quantidade mínima de gravações lentas no sistema de arquivos para manter as estruturas do disco (diretórios e assim por diante) consistentes. Isso dá a aparência de que o arquivo foi gravado no disco. "
Algum exemplo de criação de tal arquivo temporário usando o Delphi?
Obrigado.
[EDITAR]
Pergunta complementar: qual poderia ser o contexto de usar tal arquivo, por exemplo, poderia ser usado para um sistema de log. o log sendo este arquivo com o atributo temp? Seria mais rápido e menos propenso a memória quando o log fica muito grande?
[EDITAR]
Ok, eu criei um arquivo usando a solução dada pelo schnaader abaixo com o FILE_ATTRIBUTE_TEMPORARY:
hMyFile := CreateFile(FileName,
GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,
FILE_ATTRIBUTE_TEMPORARY,
0);
Tal arquivo obtém o atributo 0x120 quando criado. Assim, um arquivo temporário de acordo com o sistema.
Eu também criei um arquivo com o sinalizador FILE_FLAG_DELETE_ON_CLOSE (veja este artigo por L. Osterman).
Assim:
hMyFile := CreateFile(FileName,
GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,
FILE_FLAG_DELETE_ON_CLOSE,
0);
Este arquivo não recebe nenhum atributo e o arquivo é automaticamente excluído quando o aplicativo é fechado ou destruído.
Não encontrei como combinar o atributo e a bandeira. Qualquer ideia?
obrigado