2010-12-28 9 views
11

NT, "Yerel API" olarak adlandırılan ve çoğunlukla (genellikle günümüzde "Interix" alt sistemleri olarak adlandırılır) ortak alt sistemlerin (ör. Windows API, OS/2 API'si ve POSIX) uygulandığı, genellikle belgelenmemiş bir API'ye sahiptir. Bu fonksiyonlarınWindows NT Yerel API'sında güncel bir kitap veya web sitesi var mı?

Maalesef, kitapların veya web sitelerinin tek bir tanesinden değil, Windows'un 64 bit sürümüne (tabii ki WDK haricinde, ancak WDK sınırlıdır ....) dokunma girişiminde bulunabilirim. API kendileri de aynı şeyleri ifade ediyor - büyük mesele yapı tanımlarıyla kendileriyle ilgili. Yani - bir işaretçi değeri ve DWORD, 32 bit platformlarda aynı boyuttadır, ancak x64 platformlarında farklıdır. Bu nedenle, genellikle bir DWORD dizisi olarak tanımlanan yapıların "bilinmeyen dolgu" bitleri x64 pencerelerinde yanlıştır ve sonuç tamamen çöptür.

API çağrısı başına elle ek dolgu ekleyerek bu tür şeylerin etrafından elle çalışıyorum, ancak bu gerçekten sinir bozucu oluyor ve bu şeyleri belgeleyen bir kaynağa sahip olmak güzel olurdu. Gerekirse DWORD'lerin yerine işaretçileri doğru şekilde kullanır, böylece tek bir yapı tanımı hem 32 bit hem de 64 bit Windows için kullanılabilir.

Böyle bir kaynak var mı?

+0

Dürüst olmak gerekirse x64 ile ilgili hiçbir şey görmedim, ancak eğer ntlib 64 bit güncellemeyi alsaydı, ayrıca openrce.org'u da inceleyebilir, bir şeyleri olup olmadığını kontrol edebilirsiniz. Aksi halde 64 bitlik bir pencere kaynağını beklemek zorunda kalacaksınız: p – Necrolis

cevap

9

http://doxygen.reactos.org/annotated.html yardımcı oluyor mu? ReactOS açıkçası Windows değildir, ancak belgelenmemiş API'leri kullanan sürücü ve programlarla uyumlu olması için yerel API'yi yeterince uygulamalıdır, bu yüzden size yardımcı olacak yeterli olabilir.

+0

Hmm ... ilginç. +1. –

+0

Ayrıca Wine'ın [ntdll] uygulamasını (http://source.winehq.org/source/dlls/ntdll) dokümantasyon olarak değerlendirebilirsiniz. –

İlgili konular