Deutsch
Forum

Datei im RAM erstellen

 

Jac
de
Lad
Hallo Community!

Mit der API CreateFile kann man jede Menge verschiedener Dateien erstellen. Ich suche eine Möglichkeit eine Datei quasi im RAM zu erstellen um dann mittels einer DLL-Funktion darauf zuzugreifen, etwas damit zu machen und die Datei anschließend wieder zu löschen. Damit würde ich eine temporäre Datei umgeben, was erstens schneller ist und zweitens einfach schöner. Kennt sich jemand damit aus? Ich komme mit der Hilfe nicht klar, es gibt das etliche Parameter mit hunderten Möglichkeiten...

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
18.04.2008  
 



Ja, das ist in etwa das was die pipe-unit macht.
 
18.04.2008  
 




Jac
de
Lad
Aber wie kann ich die Datei nutzen, wenn die Funktion der DLL einen Zeiger auf einen Dateinamen benötigt?

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
18.04.2008  
 



string a&,0=Blub
 
19.04.2008  
 




Jac
de
Lad
Ich hab mir im MSDN die APIs angesehen, aber ich komme damit nicht klar. Hast du eventuell ein Minimalbeispiel?

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
19.04.2008  
 



Im Moment nicht - die pipeUnit raspelt vieles hin-und-her sodass diese kaum zeigt wie es einfach geht...
 
19.04.2008  
 




Jac
de
Lad
Das ist schlecht. Trotzdem danke, ich schau mich mal weiter um.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
19.04.2008  
 




Frank
Abbing

Ich suche eine Möglichkeit eine Datei quasi im RAM zu erstellen um dann mittels einer DLL-Funktion darauf zuzugreifen, etwas damit zu machen und die Datei anschließend wieder zu löschen.


Hört sich für mich an wie ein stinknormaler Speicherbereich. Übergib einfach einen Zeiger auf den Speicher an die Dll-Funktion, z.B. NeueFunktion(bereich#)
 
19.04.2008  
 



Stimmt, er brauchs ja garnicht prozessübergreifend, sei denn die DLL läuft in einem anderen Prozess...
 
20.04.2008  
 




Andreas
Miethe


Frank Abbing
Frank Abbing
Ich suche eine Möglichkeit eine Datei quasi im RAM zu erstellen um dann mittels einer DLL-Funktion darauf zuzugreifen, etwas damit zu machen und die Datei anschließend wieder zu löschen.


Hört sich für mich an wie ein stinknormaler Speicherbereich. Übergib einfach einen Zeiger auf den Speicher an die Dll-Funktion, z.B. NeueFunktion(bereich#)


Wird nicht funktionieren !
So wie ich das verstanden habe, soll eine Datei, die nur im Ram liegt, mit einem Dateinamen angesprochen werden.

Beispiel:

Eine EXE wird mittels Datengenerator in die Exe eingebunden.
Da habe ich meine EXE im Speicherbereich.
Jetzt versuch mal mit der Kernel32.Dll per CreateProcess() das Ding zum Laufen zu kriegen.
Da wird kein Speicherbereich sondern ein Dateiname erwartet.
Immer wenn eine Dll-Funktion einen Zeiger auf einen Dateinamen erwartet, und davon gibt es eine Menge, wird das so nicht funktionieren.

Bitte berichtige mich wenn ich da falsch liege !
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
20.04.2008  
 




Frank
Abbing

Bitte berichtige mich wenn ich da falsch liege !


Du liegst da sicher nicht falsch. Die Sache mit dem Dateinamen habe ich bewußt aussen vor gehalten, weil ich davon ausgegangen war, dass Jac die Dll selber erzeugt. Dafür fand ich die Technik über die Bereiche viel sinnvoller. Das geht aber mit einer fremden Dll nicht.

Aber ich bin sicher, dass auch eine Exedatei aus dem Speicher gestartet werden kann. Immerhin geht das ja auch mit Dlls (Memorymodule) und diese sind ja auch Exedateien.
Wie auch immer, alles in Allem ist iFs Lösung vorzuziehen. Ich bin sicher, er liefert Jac noch einen kurzen Democode dazu.
 
20.04.2008  
 




Andreas
Miethe


Hallo Frank,

ist eine ganz andere Geschichte, wenn die Dll selbst geschrieben wird.
Davon gehe ich aber nicht aus.

Jac
Aber wie kann ich die Datei nutzen, wenn die Funktion der DLL einen Zeiger auf einen Dateinamen benötigt?

Jac
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
20.04.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.020 Betrachtungen

Unbenanntvor 0 min.
Jörg Sellmeyer12.06.2018
Ernst12.05.2014

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie