Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Vinculación explícita

Con la vinculación explícita, las aplicaciones deben realizar una llamada a función para cargar explícitamente el archivo DLL en tiempo de ejecución. Para una vinculación explícita a un archivo DLL, una aplicación debe:

  • Llamar a LoadLibrary (o a una función similar) para cargar el archivo DLL y obtener un identificador de módulo.

  • Llamar a GetProcAddress para obtener un puntero a función para cada función exportada a la que la aplicación desee llamar. Como las aplicaciones llaman a las funciones del archivo DLL mediante un puntero, el compilador no genera referencias externas, por lo que no hay necesidad de vincularse a una biblioteca de importación.

  • Llamar a FreeLibrary cuando se haya acabado de utilizar el archivo DLL.

Por ejemplo:

typedef UINT (CALLBACK* LPFNDLLFUNC1)(DWORD,UINT);
...

HINSTANCE hDLL;               // Handle to DLL
LPFNDLLFUNC1 lpfnDllFunc1;    // Function pointer
DWORD dwParam1;
UINT  uParam2, uReturnVal;

hDLL = LoadLibrary("MyDLL");
if (hDLL != NULL)
{
   lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,
                                           "DLLFunc1");
   if (!lpfnDllFunc1)
   {
      // handle the error
      FreeLibrary(hDLL);       
      return SOME_ERROR_CODE;
   }
   else
   {
      // call the function
      uReturnVal = lpfnDllFunc1(dwParam1, uParam2);
   }
}
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.