2010-02-21 8 views
6

Previamente pregunté, How to determine the target of a symbolic link or Reparse Point? ... y obtuve an answer that suggested the use of the Win32 function GetFinalPathNameByHandle, una función disponible por primera vez en Vista.¿Qué sucede cuando administro una función que no está disponible en la plataforma de tiempo de ejecución?

¿Qué ocurre si construyo el ensamblado .NET y luego intento ejecutarlo en WinXP, o WS2003, que no tiene la función GetFinalPathNameByHandle? ¿Existe una excepción de tiempo de ejecución y, de ser así, cuál? ¿Hay alguna manera de manejar ese caso en el código de la aplicación?

Respuesta

7

Obtendrá un EntryPointNotFoundException cuando llame al método.

Si el archivo DLL completo no existe, obtendrá un DllNotFoundException en su lugar.

+0

Y esas excepciones son normales, atrapables? – Cheeso

+1

Sí. ¿Qué te hace pensar que no lo serían? – user200783

+0

Usando LoadLibrary, GetProcAddress, FreeLibrary puede evitar la excepción. No estoy seguro si eso tiene sentido si no puede soportar la funcionalidad de todos modos. –

Cuestiones relacionadas