Llamar a una función DLL

Aunque llamar a funciones DLL no administradas es prácticamente idéntico a llamar a otro código administrado, hay diferencias que pueden hacer que las funciones DLL parezcan confusas al principio. En esta sección se presentan temas que describen algunos de los problemas inusuales relacionados con las llamadas.

Las estructuras que se devuelven de llamadas de invocación de plataforma deben ser tipos de datos que tengan la misma representación en código administrado y no administrado. Estos tipos se denominan tipos que pueden transferirse en bloque de bits porque no requieren conversión (vea Tipos que pueden o que no pueden transferirse en bloque de bits). Para llamar a una función que tiene una estructura que no puede transferirse en bloque de bits como su tipo de valor devuelto, se puede definir un tipo del asistente que pueda transferirse en bloque de bits del mismo tamaño que el tipo que no puede transferirse en bloque de bits y convertir los datos después de que la función devuelva un resultado.

En esta sección

Pasar estructuras
Identifica los problemas de pasar estructuras de datos con un diseño predefinido.

Funciones de devolución de llamada
Proporciona información básica sobre las funciones de devolución de llamada.

Cómo: Implementar funciones de devolución de llamada
Describe cómo implementar funciones de devolución de llamada en código administrado.

Consumir funciones DLL no administradas
Se describe cómo llamar a funciones DLL no administradas mediante la invocación de plataforma.

Serialización de datos con invocación de plataforma
Describe cómo se declaran parámetros de método y se pasan argumentos a funciones exportadas por bibliotecas no administradas.