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

questionAnswers(2)

yourAnswerToTheQuestion