ECMA-335: What means 0x55 in Custom Attribute Signature?

  • Thread starter Thread starter Alex Sedow
  • Start date Start date
A

Alex Sedow

Hello All! (especially for Mattias)

Sorry. But I have one more question.

While parsing System.dll parser found 0x55 - prefix that not described in
ECMA-335 (2nd edition, december 2002).
Custom Attribute (index 0x1a9) in System.dll has following signature
(corresponding method signature described bellow).

Custom attribute signature:
0x21 - blob size
0x01 0x00 - Prolog
0x55 - ?
0x17 "System.IO.NotifyFilters" - SerString
0x13 0x00 0x00 0x00 - ? (additional 4 bytes for 0x55 prefix, (prefix 0x50
not contain additional 4 bytes))
0x00 0x00 - NumNames

Method signature:
0x04 - blob size
0x20 - Flags (HASTHIS)
0x01 - FixedArgs
0x01 - ELEMENT_TYPE_VOID
0x1c - ELEMENT_TYPE_OBJECT

Questions:
1. What means prefix 0x55?
2. Is prefix 0x55 not described in standart? (Or I something missing?)
3. What means additional 4 bytes in attribute signature?

Alex.
 
Alex,
1. What means prefix 0x55?
3. What means additional 4 bytes in attribute signature?

It's SERIALIZATION_TYPE_ENUM from CorSerializationType in CorHdr.h, so
it indicates that it's an enum type, and the type name (NotifyFilters
in this case) follows as a SerString, and then comes the raw enum
value, in this case four bytes.

The reason SERIALIZATION_TYPE_ENUM and the type name is needed, and
not just the the value, is of course that the actual parameter type is
E_T_OBJECT.

2. Is prefix 0x55 not described in standart? (Or I something missing?)

I couldn't find it either, don't know why it isn't mentioned.



Mattias
 
Mattias,

Thanks for the link to file (I found it in SDK).
Can you get link on some public document that describe details not mentioned
in standart?
Or I must mining these details from Rotor/gyro?

Alex.
 
Alex,
Can you get link on some public document that describe details not mentioned
in standart?
Or I must mining these details from Rotor/gyro?

No sorry, I haven't seen any documentation on it. It's been a while
since I looked into it, but I believed I figured it out by trial and
error and possibly looking at the Rotor source.



Mattias
 
Back
Top