LoadLibrary y AfxLoadLibrary

Los procesos llaman a LoadLibrary (o a AfxLoadLibrary) para vincularse explícitamente a un archivo DLL. Si se vinculan correctamente, la función asigna el archivo DLL especificado al espacio de direcciones del proceso de llamada y devuelve un identificador al archivo DLL que se puede utilizar con otras funciones en la vinculación explícita, por ejemplo GetProcAddress y FreeLibrary.

LoadLibrary intenta encontrar el archivo DLL mediante la misma secuencia de búsqueda que se utiliza para la vinculación implícita. Si el sistema no encuentra el archivo DLL o la función de punto de entrada devuelve el valor FALSE, LoadLibrary devolverá el valor NULL. Si la llamada a LoadLibrary especifica un módulo de DLL que se asignó al espacio de direcciones del proceso de llamada, la función devuelve un identificador del archivo DLL e incrementa la cuenta de referencia del módulo.

Si el archivo DLL tiene una función de punto de entrada, el sistema operativo llamará a la función en el contexto del subproceso que llamó a LoadLibrary. No se llamará a la función de punto de entrada si el archivo DLL ya está adjunto al proceso a causa de una llamada anterior a LoadLibrary sin una llamada correspondiente a la función FreeLibrary.

Para las aplicaciones MFC que cargan archivos DLL de extensión, se recomienda usar AfxLoadLibrary en lugar de LoadLibrary. AfxLoadLibrary administra la sincronización de subprocesos antes de la llamada a LoadLibrary. La interfaz (prototipo de función) a AfxLoadLibrary es la misma que para LoadLibrary.

Si Windows no puede cargar el archivo DLL, el proceso podría intentar recuperarse del error. Por ejemplo, podría notificar el error al usuario y pedirle que especifique otra ruta de acceso al archivo DLL.

Nota de seguridadNota sobre la seguridad

Si el código se va a ejecutar con Windows NT 4, Windows 2000 o Windows XP (anterior a SP1), asegúrese de especificar el nombre completo de la ruta de acceso de las DLL. En estos sistemas operativos, se busca primero en el directorio actual cuando se cargan archivos. Si no proporciona la ruta de acceso calificada del archivo, es posible que se cargue un archivo equivocado.

¿Qué desea hacer?

¿Qué más desea saber?

Vea también

Referencia

LoadLibrary

AfxLoadLibrary

Conceptos

DLL