2010-12-28 9 views
11

NT ha un'API per lo più non documentata, denominata "API nativa", sulla quale sono implementati i sottosistemi comuni (ad esempio l'API di Windows, l'API OS/2 e POSIX (solitamente chiamati sottosistemi "Interix" al giorno d'oggi)).Esistono libri o siti Web aggiornati sull'API nativa di Windows NT?

Diversi libri e siti web esistono che tentano di documentare questa API:

Sfortunatamente, non uno dei libri o dei siti web su cui riesco a mettere le mani sui tentativi di toccare le versioni a 64 bit di Windows (eccetto per il WDK ovviamente, ma il WDK è limitato ...). Le chiamate API stesse sono le stesse: il grosso problema ha a che fare con le definizioni della struttura stesse. Vale a dire che un valore puntatore e DWORD hanno la stessa dimensione su piattaforme a 32 bit, ma differenti su piattaforme x64. Pertanto, i bit "ignora padding" delle strutture che sono spesso definiti come una matrice di DWORD sono errati su x64 windows e il risultato è spazzatura assoluta.

Ho lavorato manualmente a questo tipo di cose aggiungendo padding aggiuntivo a mano per chiamata API, ma questo sta diventando davvero frustrante, e sarebbe bello avere una risorsa che ha appena documentato queste cose in modo tale che utilizzare correttamente puntatori anziché DWORD laddove richiesto, in modo che una singola definizione di struttura possa essere utilizzata sia per Windows a 32 bit che a 64 bit.

Esiste una risorsa del genere?

+0

Non ho visto nulla su x64 per essere onesto, ma potresti essere fortunato a controllare se ntlib ha ricevuto un aggiornamento a 64 bit, puoi anche controllare openrce.org, vedere se hanno qualcosa. Altrimenti dovrai aspettare una perdita di Windows a 64 bit: p – Necrolis

risposta

9

L'assistenza http://doxygen.reactos.org/annotated.html è disponibile? Ovviamente ReactOS non è Windows, ma deve implementare una quantità sufficiente dell'API nativa per essere compatibile con driver e programmi che utilizzano le API non documentate, quindi potrebbe essere sufficiente per aiutarti.

+0

Hmm ... interessante. +1. –

+0

Si può anche considerare l'implementazione di Wine di [ntdll] (http://source.winehq.org/source/dlls/ntdll) come documentazione –

Problemi correlati