Français
Forum

Dateiöffnen Probleme (Kernelmode)

 
quoi fais je ici faux? (Windows2000/XP)
KompilierenMarqueSéparation
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


Salut

Andreas
 
27.10.2006  
 




Michael
Wodrich
ANSI$=??+F:EigenesMister RootUnload.CLLPfad s'il te plaît anpassen

2 ou bien 3 Fragezeichen?
CLL statt DLL?
 
Programmieren, das spannendste Detektivspiel der Welt.
27.10.2006  
 



Ist seulement irgendein Dateiname.
cela ganze tut rien d'autre comme qui OpenFile API, seulement tut sies aussi im Kernel. qui Probleme entstehen chez mir beim Schließen des Hauptfensters.
 
28.10.2006  
 




Michael
Wodrich
et comment soll on deviner quoi faux ist, si simple irgendwas eingesetzt wird?

P.S.:
chez mir sagt il:
qui Vorgang wurde erfolgreich finissez.
ensuite wird un Unicodestring angezeigt (qui Dateiname).
Den sollte on avant qui Anzeige transformer.
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 



mets là simple la fois irgeneinen (vorhandenen) dateinamen avec Pfad un. qui Fragezeichen doit rester. Zürückgeliefert wird dans FileHandle& un Handle sur qui Dossier.
 
28.10.2006  
 




Michael
Wodrich
Alles liefert zéro zurück. Ist cela un faute ou bien soll cela Erfolg signalisieren???

ZwOpenFile mais seulement ZwClose (sans File)???
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 




Michael
Wodrich
[box:3dc1a1301e]
-----------------------------------------------------
samedi, qui 28. octobre 2006 - 00:52
-----------------------------------------------------
RtlAnsiStringToUnicodeString CODE:0
LsaNtStatusToWinError CODE:0
LsaNtStatusToWinError CODE:0
qui Vorgang wurde erfolgreich finissez.
??C:CodeWodMisterRoot.prf
ZwOpenFile CODE:0
ZwOpenFile HANDLE: $88
ZwOpenFile STATUS: $0
LsaNtStatusToWinError CODE:0
LsaNtStatusToWinError CODE:0
ZwOpenFile: qui Vorgang wurde erfolgreich finissez.
ZwClose CODE:0
LsaNtStatusToWinError CODE:0
LsaNtStatusToWinError CODE:0
ZwClose: qui Vorgang wurde erfolgreich finissez.
[/box:3dc1a1301e]
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 




Michael
Wodrich
qui une Fehlercode ist toujours doppelt, weil je Umlauten im Variablennamen pas traue - habe alors einmal Kleinschrift et einmal Großschrift beim Variablennamen benutzt.

Tatsache ist: qui Code fonctionne par (avec obigen Meldungen) et ensuite semmelt cela Programme ab.

qui beiden zusätzlichen Dispose habe je déjà avec aufgenommen, daran liegt es pas.

je connais malheureusement weder qui genauen Aufrufparameter encore qui dans qui Struktur erwarteten Werte, peux là alors pas weiterhelfen.

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 



chez mir schwirrt qui Code avec Zugriffsverletzung également beim Schließen des Hauptfensters ab - fonctionne mais sonst alles sans Probleme par. Windows Bug ou bien Denkfehler?
cela Problem scheint chez ZwOpenFile trop liegen. ZwClose scheint là aussi am richtigen place trop son - merkwürdig...

PS: 0=Erfolgsmeldung (NT_STATUS Codes).

suis justement chez den Vorbereitungen pour meinen Treiber. Hab mich entschieden, doch sur qui Registry pour aller, c'est sowieso besser. je schreib seulement la fois Kernelcode dans Profan; den werde je ensuite nacher dans MASM umsetzen.

Wundere toi pas sur qui APIs - ce sont Native APIs - im Kernel gibts rien d'autre.

@IF: quoi pour une Treiber veux du écrivons? peut-être peux on sich austauschen...
 
28.10.2006  
 



[quote-part:1695c7078e]@IF: quoi pour une Treiber veux du écrivons? peut-être peux on sich austauschen...[/quote-part:1695c7078e]
il me faut quelque chose très simple - quoi mais peut-être oui c'est ca c'est pourquoi garnicht so simple trop bewerkstelligen ist.

Einen Druckertreiber - qui pas Druckt - mais qui Dossier des trop druckenden Dokumentes à une Stelle im Netzwerk kopiert.
 
28.10.2006  
 



Dakannst du einiges de dem quoi ici steht peut-être déjà gebrauchen.
 
28.10.2006  
 




Michael
Wodrich
[quote-part:25b82596d4]Einen Druckertreiber - qui pas Druckt - mais qui Dossier des trop druckenden Dokumentes à une Stelle im Netzwerk kopiert.[/quote-part:25b82596d4]
Es läßt sich mais doch chacun Druckertreiber so einstellen, cela il dans un Dossier druckt.
chez mir fonctionne cela depuis l'an et journée so (habe nämlich keinen Drucker).

Eingestellt est un Laserdrucker (Postscript). qui Dossier wird ensuite anschließend avec einem Tool (WordToPdf) dans un PDF-Dossier gewandelt.

Aus OpenOffice allez cela naturellement einfacher, mais alle anderen Anwendungen erzeugen sur cet Art aussi une PDF.

si je ensuite wirklich la fois une Imprimer en brauche gehts avec qui PDF ab trop Freunden...

belle Grüße
Michael Wodrich

Hab la fois vite nachgesehen: Canon C LBP 460PS
 
Programmieren, das spannendste Detektivspiel der Welt.
28.10.2006  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

9.018 Views

Untitledvor 0 min.
Setharial14.02.2013
Michael Borowiak17.12.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie