Jak utworzyć plik tymczasowy (0x100), aby przyspieszyć aplikację

Widziałem, że system Windows używa plików tymczasowych, aby zwiększyć wydajność niektórych zadań. Pliki te są oznaczone atrybutem 0x100, gdy na nie patrzę. Mam następujący tekst od Microsoft: „

Używając CreateFile () z flagą FILE_ATTRIBUTE_TEMPORARY, pozwalasz systemowi wiedzieć, że plik może być krótkotrwały. Plik tymczasowy jest tworzony jako zwykły plik. System musi wykonać minimalną ilość leniwych zapisów w systemie plików, aby zachować spójność struktur dyskowych (katalogów itd.). Daje to wrażenie, że plik został zapisany na dysku. ”

Dowolny przykład tworzenia takiego pliku tymczasowego przy użyciu Delphi?

Dzięki.

[EDYTOWAĆ]

Pytanie uzupełniające: jaki może być kontekst użycia takiego pliku, przykład, czy mógłby być użyty do systemu dziennika. dziennik będący tym plikiem z atrybutem temp? Czy byłby szybszy i mniej podatny na pamięć, gdy dziennik byłby bardzo duży?

[EDYTOWAĆ]

Ok, utworzyłem plik za pomocą rozwiązania podanego przez schnaadera poniżej z FILE_ATTRIBUTE_TEMPORARY:

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

Taki plik otrzymuje atrybut 0x120 podczas tworzenia. Tak więc plik tymczasowy zgodnie z systemem.

Utworzyłem również plik z flagą FILE_FLAG_DELETE_ON_CLOSE (zobacz ten artykuł L. Ostermana).

Więc:

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

Ten plik nie otrzymuje atrybutu, a plik jest automatycznie usuwany po zamknięciu lub zniszczeniu aplikacji.

Nie znalazłem sposobu na połączenie atrybutu i flagi. Dowolny pomysł?

Dzięki

questionAnswers(2)

yourAnswerToTheQuestion