Wie kann ich eine RAM-Diskette programmatisch erstellen?
Ich bin nicht auf der Suche nach einem code aufruft, die ein Befehlszeilen-Dienstprogramm, das funktioniert der trick. Ich bin eigentlich daran interessiert zu wissen, die die API verwendet, um eine RAM-disk.
BEARBEITEN
Motivation: ich habe eine Drittanbieter-Bibliothek, die erwartet, dass ein directory-name, um die Dateien in diesem Verzeichnis in einer bestimmten Art und Weise. Ich habe diese Dateien Zip in ein Archiv. Ich wünschte, entpacken Sie das Archiv in eine RAM-disk, und übergeben Sie die Dritte Partei, die den Pfad zum entsprechenden Verzeichnis auf der RAM-disk. Wie Sie sehen können, memory-mapped-Dateien sind mir nicht.
InformationsquelleAutor der Frage mark | 2012-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine API zum erstellen einer RAM-disk per se. Sie müssen schreiben Sie Ihre eigenen device-Treiber stellt eine neue Festplatte an das system und die Gerätetreiber arbeiten mit zugewiesenen Speicher.
BEARBEITEN (nach den OP ' s edit)
Was Sie zu tun versuchen würden, die normalerweise durchgeführt werden, indem die 'temp' - Verzeichnis, das soll sich auf die Schnellste Platte im system vorhanden. So, ein system, in dem es bereits eine RAMdisk wird wahrscheinlich seine temp-Umgebungsvariablen bereits festgelegt auf einen Ordner auf die RAMdisk und Systeme ohne eine RAMdisk würde einfach die performance-Strafe, es ist Ihr problem.
Nun, wenn aus irgendeinem Grund verlassen Sie sich nicht auf das Vorhandensein einer RAMdisk auf einem system, UND Sie brauchen unbedingt die Schnellste Leistung möglich ist, dann sehe ich keine option, aber die Installation einer Dritten Partei (vielleicht frei zum Download, vielleicht sogar open source), RAM-disk, verwenden Sie es vorübergehend, und dann deinstallieren. Aber das ist sehr umständlich.
InformationsquelleAutor der Antwort Mike Nakis
ImDisk ist eine RAM-disk-app, erstellt ein virtuelles Laufwerk von einem Sektor, der Erinnerung, und es hat eine API, die aufgerufen werden kann .NET.
InformationsquelleAutor der Antwort Robinicks
du nicht erwähnt, die Sprache , also meine Antwort ist in c# :
Einen memory-mapped-Datei enthält den Inhalt einer Datei im virtuellen Speicher. Diese Zuordnung zwischen einer Datei und Speicher ermöglicht einer Anwendung, einschließlich mehrerer Prozesse, zum ändern der Datei von Lesen und schreiben direkt in den Speicher. Beginnend mit dem .NET Framework version 4, können Sie verwalteten code verwenden, um Zugriff auf memory-mapped-Dateien in der gleichen Weise, dass die native Windows-Funktionen Zugriff auf memory-mapped-Dateien, wie beschrieben in der Verwaltung von Memory-Mapped-Dateien in Win32 ist in der MSDN-Bibliothek.
http://msdn.microsoft.com/en-us/library/dd997372.aspx
//Erstellen der Karte anzuzeigen und zu Lesen:
InformationsquelleAutor der Antwort Royi Namir