| |
|
|
| Hat jemand Interesse an den Native-APIs mit der Prefix Zw und Nt? |
|
|
| |
|
|
|
| ntapis? immer rein damit... |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Torsten Rümker | Irgendwie bin ich ja beruhigt. Ich bin scheints nicht der einzige der mit den mit diesen Nativen APIs nichts anfange kann.
Magst du mal kurz schreiben was es damit auf sich hat Andreas?
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 12.09.2006 ▲ |
|
|
|
|
| Wohl Treiber schreiben, z.B. Bin kein Experte und teste selbst erst mal rum. |
|
|
| |
|
|
|
| Genauer gesagt: Ich habe im Augenblick einen Verdacht, wie Windows Sachen über diese undokumentierten APIs regelt und warum die überhaupt da sind - muß aber noch etwas tüfteln, um mir da ganz sicher zu sein. |
|
|
| |
|
|
|
RGH | Andreas Hötker
Wohl Treiber schreiben, z.B. Bin kein Experte
Klarer Fall von Understatement!
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 12.09.2006 ▲ |
|
|
|
|
| RGH
Andreas HötkerWohl Treiber schreiben, z.B. Bin kein Experte Klarer Fall von Understatement! Gruß Roland
Was issn nun Understatement schon wieder? |
|
|
| |
|
|
|
Torsten Rümker | Andreas Hötker
RGHAndreas HötkerWohl Treiber schreiben, z.B. Bin kein Experte Klarer Fall von Understatement! Gruß Roland Was issn nun Understatement schon wieder?
Es klingt (speziell wenn es um Windows geht) aus deinem Munde eindeutig untertrieben wenn du das sagst.
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 12.09.2006 ▲ |
|
|
|
|
| Ach so, Untertreibung .
Ich sehe das etwas anders. An jeder Ecke sehe ich in Windows irgendwelche Sachen, bei denen ich beim besten Willen noch keinen Durchblick habe. Studiert habe ich (im Gegensatzt zu meinem Bruder => Diplommathematiker, Doktortitel in einem Informatikbereich ) auch nicht. Das, was ich wirklich gelernt habe, ist etwas Basic. Auf den heutigen Realschulen wird da schon mehr gelehrt, als damals in meiner Ausbildung. Wenn ich in Windows herumwühle bin ich quasi auf das angewiesen, was ich mit bloßem Auge sehen kann. Das setze ich dann wieder mit Profan auf einen Level herunter, den ich verstehen kann (bin zwar kein Idiot, aber auch nicht der klügste ). Es kann also sehr gut sein, das ich an manchen Ecken falsche Schlüsse ziehe, weil entweder mein Verstand nicht ausreicht oder man mit bloßem Auge nicht das sehen kann, was da in Windows wirklich vor sich geht . |
|
|
| |
|
|
|
Torsten Rümker | Gut, aber bei dir kann man sagen, zumindest wenn ein Thread hier im Forum dem Ende zugeht, das das was du so geschrieben hast Hand und Fuß hat.
Das das jedes mal von Anfang an so ist hat ja auch keiner behauptet. |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 12.09.2006 ▲ |
|
|
|
|
| Torsten Rümker
Irgendwie bin ich ja beruhigt. Ich bin scheints nicht der einzige der mit den mit diesen Nativen APIs nichts anfange kann.
Magst du mal kurz schreiben was es damit auf sich hat Andreas?
MfG Torsten
So, ich versuchs mal zu erklären... Vorneweg nochmals: Da ich in keiner Art und Weise ein Experte bin, ist das, was ich hier verzapfe, insgesammt mit Vorsicht zu genießen. Was ich ich versuche zu erklären, bezieht sich auf NT basierende Systeme - also auf WindowsNT, Windows2000 und WindowsXP.
Jeder, der irgendwann einmal etwas mit API Programmierung zu tun hat, kennt die USER32.DLL, KERNEL32.DLL und GDI32.DLL, aus denen normalerweise diese Windows-API Funktionen aufgerufen werden - aber was ist mit der NTDLL.DLL? Hier gibt es -zig Funktionen mit merkwürdigen Namen, die in der Regel mit Zw, Nt oder Rtl beginnen und kaum dokumentiert sind (Native-API). Viele Native-Apis habe ähnlichklingende Namen zu APIs aus der KERNEL32.DLL (RegOpenKeyEx <=> NtOpenKey z.B.). In der Praxis sieht es dabei so aus, das die APIs der KERNEL32 auf deren Native Entsprechung umgeleitet werden. Und jetzt wird es interessant: Die Nativen-APIs haben in der Regel wesentlich mehr Parameter und auch Möglichkeiten als ihre Doppelgänger in der KERNEL32.DLL. Viele Funktionen, die erst in WindowsXP in die dokumentierten APIs aufgenommen wurden, sind schon sehr lange in Native-APIs enthalten. Man ist also durch das Aufrufen von Native-APIs dazu in der Lage, bereits unter WindowsNT Funktionen aufzurufen, die es offiziell erst ab WindowsXP gegeben hat - oder die es offiziell überhaupt noch gar nicht gibt! Kennt man sich also mit den Native-APIs aus, ist man in der Lage Programme zu zaubern, die in ihrem Funktionsumfang weit über dem Liegen, was irgendein anderer Programmierer zu stande bringen würde.
Programmiert man einen Treiber, läuft dieser quasi als DLL unter dem Prozess System. In den Prozess System ist von den bekannten DLLs nur die NTDLL.DLL geladen, und nur diese APIs sind also nutzbar. Beim Treiberprogrammieren muß man deshalb ebenfalls die Native-API bemühen. APIs mit dem Prefix Zw haben hier scheinbar einen besonderen Stellenwert, wenn es darum geht Zugriff auf Speicherbereiche Oberhalb von 2GB zu erhalten oder bestimmte Rechteschranken (Zugriffsrechte) zu umgehen. Als Treiber darf man hier nicht nur eine Software verstehen, die irgendeine Hardware ansteuert - nein, Treiber sind viel mehr! Auch Virenscanner benutzen Treiber; und zwar dazu, Speicherbereiche oberhalb von 2GB nach Viren zu untersuchen und diese von dort zu entfernen. Wer dazu in der Lage ist die Native-APIs in Treibern zu verwenden, kann ware Wunderdinge bewirken, die ansonsten nicht vorstellbar sind.
Ich will hoffen, das ich so einigermaßen Einblick gegeben habe...
Gruß
Andreas |
|
|
| |
|
|