So erstellen Sie eine temporäre Datei (0x100), um die Anwendung zu beschleunigen

Ich habe gesehen, dass Windows-System temporäre Dateien verwendet, um die Leistung einiger Aufgaben zu erhöhen. Diese Dateien sind mit dem 0x100-Attribut markiert, wenn ich sie mir ansehe. Ich habe folgenden Text von Microsoft erhalten: "

Indem Sie CreateFile () mit dem Flag FILE_ATTRIBUTE_TEMPORARY verwenden, teilen Sie dem System mit, dass die Datei wahrscheinlich von kurzer Dauer ist. Die temporäre Datei wird als normale Datei erstellt. Das System muss nur wenige verzögerte Schreibvorgänge im Dateisystem ausführen, um die Konsistenz der Festplattenstrukturen (Verzeichnisse usw.) zu gewährleisten. Dies gibt den Anschein, dass die Datei auf die Festplatte geschrieben wurde. "

Gibt es ein Beispiel für das Erstellen einer solchen temporären Datei mit Delphi?

Vielen Dank.

[BEARBEITEN]

Ergänzende Frage: Was könnte der Kontext für die Verwendung einer solchen Datei sein, beispielsweise könnte sie für ein Protokollsystem verwendet werden? Ist das Protokoll diese Datei mit dem Attribut temp? Wäre es schneller und weniger speicherintensiv, wenn das Protokoll sehr groß würde?

[BEARBEITEN]

Ok, ich habe eine Datei mit der von schnaader unten angegebenen Lösung mit dem FILE_ATTRIBUTE_TEMPORARY erstellt:

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

Solche Dateien erhalten beim Erstellen das 0x120-Attribut. Also eine temporäre Datei nach System.

Ich habe auch eine Datei mit dem FILE_FLAG_DELETE_ON_CLOSE-Flag erstellt (siehe diesen Artikel von L. Osterman).

So:

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

Diese Datei erhält kein Attribut und die Datei wird automatisch gelöscht, wenn die Anwendung geschlossen oder zerstört wird.

Ich konnte das Attribut und die Flagge nicht kombinieren. Irgendeine Idee?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage