Emanuele Aliberti wrote:
Alex Ionescu wrote:
Apoligies accepted.
This, once again, suggests to add detailed comments to code changes
when committing, or fixing a commit one assumes is wrong.
I assumed it was clear to anyone checking that *all* the other exported
objects were *POINTERS*. It also makes sense that NT would export a
pointer, not the actual structure. Since when does an app export a whole
object?
I, first of all, had to say I had changed the type of
LpcPortObjectType because of the w32api header and the fact that DATA
symbols are pointers.
DATA symbols are pointers, and that's exactly what I've done. In the
old code, the LpcPortObjectType was exported as a whole type instead.
When I saw the excerpts from the DDK headers posted by
Filip, I
realized I was fooled by a wrong definition. I should have checked
that first! I assume these two definitions *are* different, aren't they?
extern POBJECT_TYPE *IoFileObjectType; /* <- Official DDK headers */
extern NTOSAPI POBJECT_TYPE IoFileObjectType; /* <- W32API headers */
Slightly different in the way you access the object, but both export the
pointer.
Alex, you say, in another reply, we will build soon ros using the
w32api headers. If so, should this be fixed?
Eventually, yes, but right now I just want it to be able to build.
Best regards,
Alex Ionescu