Cheeso
Cheeso

Reputation: 192621

What happens when I DllImport a function that is not available on the runtime platform?

I previously asked, How to determine the target of a symbolic link or Reparse Point? ...and got an answer that suggested the use of the Win32 function GetFinalPathNameByHandle, a function first available on Vista.

What happens if I build the .NET Assembly and then attempt to run it on WinXP, or WS2003, which does not have the GetFinalPathNameByHandle function? Is there a runtime exception, and if so, which one? Is there a way for me to handle that case in the app code?

Upvotes: 6

Views: 211

Answers (1)

SLaks
SLaks

Reputation: 888077

You'll get an EntryPointNotFoundException when you call the method.

If the entire DLL file doesn't exist, you'll get a DllNotFoundException instead.

Upvotes: 7

Related Questions