I was going through the "Managed Methods as Unmanaged Exports"
example "ydd.il" in Serge Lidin's book "Inside Microsoft .Net IL Assembler"
when I discovered a difference in the DLL produced by ILASM on Win2K and
WinXP. I was wondering if this has been documented or explained somewhere.

In the example, 3 exports (Yabba, Dabba and Doo) to unmanaged code are
defined. On WinXP the first export (Yabba) is exported as "$", while on
Win2K the same function is exported as "Yabba" (as expected).

After explicitly using the following ILASM code to declare the export:

.export [1] as Yabba

while leaving the other exports as just:

.export [2]
.export [3]

ILASM then produces the same result on WinXP as on Win2K.

I seems that on WinXP there is something else going on when writing the PE
file for the DLL.

Or, have I misunderstood the use of ".export" directive? Is the extra "as
<<something>>" after the ordinal always required?

Thanks,
Peter.

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to