I think that Alex's changes are correct. If Alex's changes are wrong, all other type object initialisations are also wrong. There is only one little bug, the EXPORTED/IMPORTED definition is missing.
Hmm, you might be right...
POBJECT_TYPE _LpcPortObjectType; /* <- Debug symbols */ extern NTOSAPI POBJECT_TYPE LpcPortObjectType; /* <- W32API headers */
POBJECT_TYPE _IoFileObjectType; /* <- Debug symbols */ extern POBJECT_TYPE *IoFileObjectType; /* <- Official DDK headers */ extern NTOSAPI POBJECT_TYPE IoFileObjectType; /* <- W32API headers */
DATA symbols are pointers to outside referers. When you lookup IoFileObjectType in the .edata section you get the RVA, that is a (sort of) base address of OBJECT_TYPE, i.e. a POBJECT_TYPE.
Emanuele
____________________________________________________________ Libero ADSL: 3 mesi gratis e navighi a 1.2 Mega. E poi hai l'Adsl senza limiti a meno di 1 euro al giorno. Abbonati subito senza costi di attivazione su http://www.libero.it