código Importación a un proyecto de Visual Basic requiere el uso de la invocación de la plataforma de servicios. La invocación de la plataforma de servicios se añadió a la . NET Framework para permitir el acceso a las bibliotecas de vínculos dinámicos personalizados , objetos COM y API Win32 en el código administrado creado para el . NET Framework . Hay algunas consideraciones a tener en cuenta antes de utilizar la plataforma de la función invoca .
Invocación de plataforma Requisitos
Antes de la utilización de la invocación de la plataforma de servicios , una llamada debe ser hecho a los servicios de " interoperabilidad " en el código del programa. Este código debe ser introducido en la parte más superior de la página principal del programa : " using System.Runtime.InteropServices ; " antes de cualquier uso de la plataforma de servicios de invocar. Indica al compilador que se requerirán los servicios fuera del proceso principal. El archivo de biblioteca o DLL también debe ser colocado en la carpeta de programas del proyecto de Visual Basic para que se le puede llamar durante la depuración y las operaciones en tiempo de ejecución .
Invocación de plataforma Declaraciones
una "Declaración " especifica el nombre de la biblioteca que se hace referencia en el proyecto, así como varios atributos de la biblioteca. A " Prototype " de la función que se llama de esa biblioteca en particular también debe ser creado. El siguiente es un ejemplo de este tipo de declaración :
" [ DllImport ( " myDll.dll " , CallingConvention = CallingConvention.Cdecl ,
charset = CharSet.Ansi , SetLastError = true , ExactSpelling = true ) ] " declara que una DLL se importará y enumera varios atributos acerca de la DLL, " public static extern int myFunction (datos UInt32 ), " declara el nombre de la función que se llama desde el archivo DLL y da un prototipo general para su uso.
Consideraciones
Importación a través de la invocación de plataforma debe ser utilizado sólo cuando una función nativa no existe en el sistema operativo . Los programadores utilizan a veces la invocación de plataforma función para llamar a funciones API Win32 que realizan tareas de una manera a la que están más acostumbrados . Sin embargo, estas mismas funciones suelen estar disponibles en la biblioteca de clases base con diferentes convenciones de llamada . Importación de una función DLL en código administrado - . Todas las funciones de red son el código administrado - también requiere la consideración de cuestiones como la recolección de basura y el rendimiento del procesador . La recogida de basura se toma automáticamente de en código administrado , pero los resultados en la programación adicional cuando se importan . Importación de un archivo DLL también requiere un poco de sobrecarga de procesamiento que añade al tratamiento adicional requerida por la programación adicional.