Hi!

> I just noticed before that Cecil returns different numbers for unmanaged
> C++, these numbers are not in ECMA-335.

Why are you loading unmanaged C++ DLLs with Cecil? Unmanaged DLLs
don't contain a CLI header, so they probably won't contain any
COMIMAGE_FLAGS (= RuntimeImage flags) either. Or are you talking about
mixed DLLs?

> I have created an enum in my own code with these additional numbers, however
> I don't have any idea what they mean, does anyone know where I could find
> out these undocumented details?
>
> Thanks
>
> [Flags]
> public enum RuntimeImage : uint
> {
>     Unmanaged = 0x0000000,
>     ILOnly = 0x0000001,
>     F32BitsRequired = 0x0000002,
>     StrongNameSigned = 0x0000008,
>     Unmanaged2 = 0x0000016,
>     TrackDebugData = 0x00010000,
> }

In the .NET SDK (CorHdr.h), there seem to be the following additional values:
0x00000004 => IL_LIBRARY
0x00000010 => NATIVE_ENTRYPOINT (whose "general usage" somebody is
"still verifying")

Also, don't forget those are flags, so they can be combined.

But, as I said, these only make sense for files that have a CLI header...

Fabian

--~--~---------~--~----~------------~-------~--~----~
--
mono-cecil
-~----------~----~----~----~------~----~------~--~---

Reply via email to