Deutsch
Forum

Dateiöffnen Probleme (Kernelmode)

 
- Seite 1 -


Was mache ich hier falsch? (Windows2000/XP)
KompilierenMarkierenSeparieren
Def @RtlInitUnicodeString(2) !"NTDLL","RtlInitAnsiString"
Def @RtlInitUnicodeString(2) !"NTDLL","RtlInitUnicodeString"
Def @RtlAnsiStringToUnicodeString(3) !"NTDLL","RtlAnsiStringToUnicodeString"
DEF @LsaNtStatusToWinError(1) !"advapi32","LsaNtStatusToWinError"
DEF @FormatMessage(7) !"KERNEL32","FormatMessageA"
Def @RtlInitAnsiString(2) !"NTDLL","RtlInitAnsiString"
Def @ZwOpenFile(6) !"NTDLL","ZwOpenFile"
Def @ZwClose(1) !"NTDLL","ZwClose"
Declare LSA_Unicode#,ANSI$,Unicode#,Fehler&,Ansi#
Declare AHRückgabe&,AHGETERROR_Buffer#,AHGETERROR_Buffer$
Declare FileHandle&,Status_Block&,Object_Attributes#
Windowstyle 31
WindowTitle "Datei auslesen mit Kernelmode APIs"
Window 0,0-640,440
LET ANSI$="??"+"F:EigenesMister RootUnload.CLL" Pfad bitte anpassen
Dim Ansi#,8
DIM Unicode#,514
DIM LSA_Unicode#,8
WORD LSA_Unicode#,0=0
WORD LSA_Unicode#,2=512
LONG LSA_Unicode#,4=UNICODE#
@RtlInitAnsiString(Ansi#,@ADDR(ANSI$))
LET Fehler&=@RtlAnsiStringToUnicodeString(LSA_Unicode#,Ansi#,0)
LET AHRÜCKGABE&=@LsaNtStatusToWinError(Fehler&)
Fehlercode_bestimmen
PRINT AHGETERROR_Buffer$
Print @Char$(UNICODE#,0,@LEN(ANSI$)*2)
DIM Object_Attributes#,24
Clear Object_Attributes#
Long Object_Attributes#,0=24
Long Object_Attributes#,4=0
Long Object_Attributes#,8=LSA_Unicode#
Long Object_Attributes#,12=$40
LET FEHLER&=@ZwOpenFile(@ADDR(FileHandle&),$110003,Object_Attributes#,@ADDR(Status_Block&),$1,$800 | $20 | $2 | $8)
LET AHRÜCKGABE&=@LsaNtStatusToWinError(Fehler&)
Fehlercode_bestimmen
PRINT "ZwOpenFile: "+AHGETERROR_Buffer$
LET FEHLER&=@ZwClose(FileHandle&)
LET AHRÜCKGABE&=@LsaNtStatusToWinError(Fehler&)
Fehlercode_bestimmen
PRINT "ZwClose: "+AHGETERROR_Buffer$
Dispose Unicode#
Dispose LSA_Unicode#

While 0=0

    Waitinput

wend

End

Proc Fehlercode_bestimmen

    DIM AHGETERROR_Buffer#,32000
    @FormatMessage($1000,0,AHRückgabe&,0,AHGETERROR_Buffer#,32000,0) Wandelt Fehlercode in Landesspezifische Message um.
    Let AHGETERROR_Buffer$=@trim$(@STRING$(AHGETERROR_Buffer#,0))
    Dispose AHGETERROR_Buffer#

Endproc


Gruß

Andreas
 
27.10.2006  
 



 
- Seite 1 -


[quote:1695c7078e]@IF: Was für einen Treiber willst du schreiben? Vielleicht kann man sich austauschen...[/quote:1695c7078e]
Ich brauche etwas sehr einfaches - was aber vielleicht genau deshalb garnicht so einfach zu bewerkstelligen ist.

Einen Druckertreiber - der nicht Druckt - sondern die Datei des zu druckenden Dokumentes an eine Stelle im Netzwerk kopiert.
 
28.10.2006  
 



Dakannst du einiges von dem was hier steht vielleicht schon gebrauchen.
 
28.10.2006  
 




Michael
Wodrich
[quote:25b82596d4]Einen Druckertreiber - der nicht Druckt - sondern die Datei des zu druckenden Dokumentes an eine Stelle im Netzwerk kopiert.[/quote:25b82596d4]
Es läßt sich aber doch jeder Druckertreiber so einstellen, das er in eine Datei druckt.
Bei mir läuft das seit Jahr und Tag so (habe nämlich keinen Drucker).

Eingestellt ist ein Laserdrucker (Postscript). Die Datei wird dann anschließend mit einem Tool (WordToPdf) in eine PDF-Datei gewandelt.

Aus OpenOffice geht das natürlich einfacher, aber alle anderen Anwendungen erzeugen auf diese Art auch eine PDF.

Wenn ich dann wirklich mal einen Print davon brauche gehts mit der PDF ab zu Freunden...

Schöne Grüße
Michael Wodrich

Hab mal schnell nachgesehen: Canon C LBP 460PS
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 



 
- Seite 2 -


Nicht in eine Datei drucken! Dort landed ja die Ausgabe für das - was der Drucker an Steuerzeichen benötigt um das Dokument zu drucken! Ich will das FILE welches gedruckt würde!
 
28.10.2006  
 




Matthias
Arlt
Habe obigen Code eben auch mal getestet: läuft zufriedenstellend durch (mit zwei Erfolgsmeldungen...)
Ach so PRF 7.5 unter WinXP
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
28.10.2006  
 




Michael
Wodrich
PLAIN TEXT geht auch. Neuen Drucker einrichten.

Ausgabe: in FILE
Hersteller: Standard
Drucker: Generic / Text only
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 



Kein Mensch will PlainText!
 
28.10.2006  
 




Michael
Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 



Wir haben uns einfach nur nicht verstanden.

Drucke mal ein BMP mit nem PlainText Treiber

Ich will das BMP! Den Inhalt vom File - oder das File selbst.
 
28.10.2006  
 




Sebastian
König
[quote:4330c926c2]Ich will das BMP! Den Inhalt vom File - oder das File selbst.[/quote:4330c926c2]Ich bezweifle irgendwie, dass das möglich ist... Die API, die ein Programm zum Drucken aufruft, ist ja völlig unabhängig von irgendwelchen Dateien - es wird einfach alles in einen speziellen DC gepinselt ...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
29.10.2006  
 



Da der Rest Offtopic ist => wie sieht es mit der Beantwoitung meiner Frage aus ?
 
29.10.2006  
 



[quote:6f0b8b235d=Sebastian König][quote:6f0b8b235d]Ich will das BMP! Den Inhalt vom File - oder das File selbst.[/quote:6f0b8b235d]Ich bezweifle irgendwie, dass das möglich ist... Die API, die ein Programm zum Drucken aufruft, ist ja völlig unabhängig von irgendwelchen Dateien - es wird einfach alles in einen speziellen DC gepinselt ...

MfG

Sebastian[/quote:6f0b8b235d]
Ich sehe das ebenso Sebastian! Speziell geht es mir um OpenOffice - vielleicht kann mir das helfen. Vielleicht wird dem Druckertreiber aber trotzdem das File gesandt - vielleicht muss ich nur tricksen indem ich z.B. doch einen FilePrinter nehme - und in den Seiteneinstellungen festlege das z.B. im Kopf der Dokumentenname(File?) stehen soll. Irgend solch einen Trick halt.
 
29.10.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.003 Betrachtungen

Unbenanntvor 0 min.
Setharial14.02.2013
Michael Borowiak17.12.2012

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