2010-12-28 9 views
11

NT hat eine größtenteils undokumentierte API, die "Native API" genannt wird, auf der die üblichen Subsysteme (d.h. die Windows API, OS/2 API und POSIX (heutzutage als "Interix" bezeichnet) Subsysteme implementiert sind).Gibt es aktualisierte Bücher oder Websites in der nativen Windows NT-API?

Mehrere Bücher und Websites gibt, die versuchen, diese API zu dokumentieren:

Leider gibt es keins der Bücher oder Websites, die ich in die Finger kriegen kann, um die 64-Bit-Versionen von Windows zu bearbeiten (außer für die WDK natürlich, aber die WDK ist begrenzt ....). Die API-Aufrufe selbst sind die gleichen - das große Problem hat mit den Strukturdefinitionen selbst zu tun. Nämlich - dass ein Zeigerwert und DWORD auf 32-Bit-Plattformen dieselbe Größe haben, aber auf x64-Plattformen unterschiedlich sind. Daher sind die "unknown padding" -Bits der Strukturen, die oft als ein Array von DWORDs definiert sind, in x64-Fenstern falsch - und das Ergebnis ist völliger Müll.

Ich habe manuell um diese Art von Dingen herum gearbeitet, indem ich per API-Aufruf per Hand zusätzliche Padding hinzugefügt habe, aber das wird wirklich frustrierend, und es wäre schön, eine Ressource zu haben, die diese Dinge einfach dokumentiert würde bei Bedarf anstelle von DWORDs Zeiger verwenden, damit eine einzelne Strukturdefinition sowohl für 32-Bit- als auch für 64-Bit-Windows verwendet werden kann.

Gibt es eine solche Ressource?

+0

Ich habe nichts auf x64 gesehen, um ehrlich zu sein, aber Sie könnten Glück haben zu überprüfen, ob ntlib ein 64-Bit-Update erhalten hat, können Sie auch auf openrce.org, sehen, ob sie etwas haben. Sonst muss ich auf ein 64 Bit Windows Source Leck warten: p – Necrolis

Antwort

9

Kann http://doxygen.reactos.org/annotated.html helfen? ReactOS ist offensichtlich kein Windows, aber es muss genug von der nativen API implementiert werden, um mit Treibern und Programmen kompatibel zu sein, die die undokumentierten APIs verwenden, also könnte es genug sein, um Ihnen zu helfen.

+0

Hmm ... interessant. +1. –

+0

Sie können Wines Implementierung von [ntdll] (http://source.winehq.org/source/dlls/ntdll) auch als Dokumentation betrachten –

Verwandte Themen