I'm currently doing some Windows 7 kernel debugging work, and for a number of structures I'm looking at, instead of giving the structure name, windbg simply displays <unnamed-tag>
Here's an example for the IRP structure:
I'm guessing this structure is therefore referenced by something other than it's name, but after some reading I can't seem to find an explanation for this. Can anyone explain what this unnamed-tag means?
Thanks
Update After a bit more reading, I think the unnamed-tags are actually embedded unions within the structure that don't have a name, which according to http://www.rowleydownload.co.uk/arm/documentation/gnu/gcc/Unnamed-Fields.html is legal in C code.
If this is correct, I'm curious as to how Windbg knows how to rebuild the structures back together again.
true, it's unnamed union. windbg simply show the same address as all possible format defined by union, it's responsibility of the user to judge what field is being referenced by the program, typically there's a 'context' attached to the structure specified what type the union is being defined, e.g. a bit in a flag filed.