2016-05-31 6 views
5

Ich habe eine Closed-Source-API von Drittanbietern, die die Ausgabedaten in eine Datei schreibt, aber ich möchte diese Daten lesen und weiter verarbeiten wollen.Hat Windows nativ ein virtuelles oder temporäres Dateisystem?

Die API ist eine Bibliothek, in der DLL und nimmt einen regulären Dateipfad wie „C: \ someFolder \ somefile“

Das aktuelle Setup erfordert mir die Daten von api in eine temporäre Datei auf der Festplatte zu speichern und dann Lesen Sie diese temporäre Datei, um die Daten zur Verarbeitung in den Speicher zu bekommen.

Ist es in Windows möglich, eine virtuelle Datei oder ein Dateisystem im Hauptspeicher mit regulärem Pfad zu haben, so dass die API in den Hauptspeicher anstelle der Festplatte schreiben kann, was die Dinge schneller machen würde, da kein Festplattenzugriff möglich wäre.

Ist dies in Windows nativ ohne zusätzliche Software oder API-Installationen möglich?

+4

Sie sollten zusätzliche Informationen angeben, z. B. welche Form die API hat. Nimmt es einen Pfadnamen? Ein offener Dateigriff? Etwas anderes? Du sagst API, also heißt das Bibliothek? Internetservice? Was? Ist dies auch eine C++ - Frage, wie Ihr Tag anzeigt? Ich verstehe nicht warum. Vielleicht wählen Sie einige Tags, die besser in der Lage sind, Antworten zu gewinnen. – davidbak

+1

Ja, es ist möglich. Es ist sogar möglich, dass Sie _you_ erreichen, wenn Sie etwas wie [Dokan] (https://dokan-dev.github.io/) verwenden. –

+0

Zusätzlich dazu: Greift die Bibliothek zufällig auf die Datei oder nur als Stream (denke Named Pipes)? – dhke

Antwort

2

Sie können eine Named Pipe erstellen und den Pfad in Form von \\. \ Pipe \ PipeName an Ihre DLL übergeben. Dann in Ihrem eigenen Code verbinden mit der Leitung und lesen. Ein Beispiel finden Sie hier: Create Named Pipe C++ Windows.

Verwandte Themen