Decompiling a method implemented using the extern keyword

when I decompiled the DLL file with Reflector, I saw that the method I needed was implemented as shown below. What does it mean? Is it possible to see the source code?

[return: MarshalAs(UnmanagedType.BStr)]
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime), DispId(0x3a)]
public virtual extern string GetCOLDText([In] int PageNumber, [In] int Row, [In] int Column, [In, Optional, DefaultParameterValue(0x7fffffff)] int Length);

Sincerely.

+5
source share
3 answers

This is what you see when you use Reflector to look at the COM interop library created by tlbimp.exe. Or adding a link in the IDE to the COM server from the COM tab or the Browse tab is the same.

, , COM- , . [ComImport], , DLL [Guid], IID CLOSID . COM- , . CLSID , HKCR\CLSID\{guid}.

COM, , , ++, Delphi VB6. ++ , - Dumpbin.exe /disasm. . .

+4

, (interop) DLL. , ++ / C

( , Reflector), , .

+1

It looks like this is a call to an unmanaged (probably COM) dll. Therefore, the reflector will not be able to decompile / parse it; but if you can read x86 assembler, you can get somewhere.

+1
source

All Articles