Skip to content

What is __FnPtr from System.Data? #2433

Answered by dgrunwald
sharpninja asked this question in General
Discussion options

You must be logged in to vote

Are you sure you were using ILSpy for that decompilation? If so, which version?

calli and FnPtr refers to function pointers. This has always existed in IL code for Managed C++, but C# only recently (in C# 9) got support for this feature. Current ILSpy versions support the C# 9 feature. Other decompilers that don't support C# 9 might have invented their own non-standard syntax to represent this .NET feature. But your code doesn't look like anything ILSpy would generate, so I suspect you used a different decompiler?

Current ILSpy versions produce the following output for that line in NativeOledbWrapper:

num = ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, _GUID*, void**, int>)(int)(*(uint*…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by siegfriedpammer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants