Italia
Foro

Dateiöffnen Probleme (Kernelmode)

 
- Page 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#

/../function-references/xprofan/endproc/'>Endproc


Saluto

Andreas
 
27.10.2006  
 



 
- Page 1 -


[quote:1695c7078e]@IF: Was per 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 File 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 File 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 un File druckt.
Bei mir corre das seit Jahr und Tag so (habe nämlich keinen Drucker).

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

Aus OpenOffice geht das naturalmente 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  
 



 
- Page 2 -


Nicht in un File drucken! Dort landed ja die Ausgabe per das - was der Drucker an Steuerzeichen necessario 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: corre 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 possibile ist... Die API, die ein Programm zum Drucken aufruft, ist ja völlig unabhängig von irgendwelchen File - 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 possibile ist... Die API, die ein Programm zum Drucken aufruft, ist ja völlig unabhängig von irgendwelchen File - 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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.991 Views

Untitledvor 0 min.
Setharial14.02.2013
Michael Borowiak17.12.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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