Share via


Restricciones de las DLL de carga retrasada

Hay restricciones relacionadas con la carga retrasada de las importaciones.

  • No se admiten importaciones de datos.Una solución consiste en controlar uno mismo explícitamente la importación de datos mediante LoadLibrary (o GetModuleHandle cuando se sepa que la rutina auxiliar de carga retrasada ha cargado la DLL) y GetProcAddress.

  • No se admite retraso en la carga de Kerne32.dll.Esta DLL es necesaria para que las rutinas auxiliares de carga retrasada realicen la carga retrasada.

  • No se admite el enlace de puntos de entrada reenviados.

  • La carga retrasada de una DLL puede alterar el comportamiento del proceso si hay inicializaciones dependientes del proceso en el punto de entrada de la DLL de carga retrasada.Otros casos incluyen el almacenamiento local de subprocesos (TLS) estático, declarado mediante __declspec(thread), que no se controla cuando la DLL se carga mediante LoadLibrary.El almacenamiento local de subprocesos (TLS) dinámico, mediante TlsAlloc, TlsFree, TlsGetValue y TlsSetValue, sigue estando disponible para su utilización en DLLs tanto estáticas como de carga retrasada.

  • Los punteros de función (global) estáticos se deben volver a inicializar para funciones importadas después de la primera llamada a la función.Esto se debe a que el primer uso del puntero a función apuntará al código thunk.

  • Actualmente, no hay un medio para retrasar la carga de sólo los procedimientos específicos de una DLL mientras se utiliza el mecanismo de importación normal.

  • No se admiten las convenciones de llamada personalizadas (como el uso de códigos de condición en arquitecturas x86).Tampoco se pueden usar tipos de datos de punto flotante en ninguna de las rutinas o enlaces auxiliares en equipos RISC.Los registros de punto flotante no se guardan en todas las plataformas.Si las rutinas de enlace o la rutina auxiliar personalizada utilizan punto flotante, es necesario guardar completamente y restaurar el estado de punto flotante en aquellos equipos cuyas convenciones de llamada de registro utilicen parámetros de punto flotante.Tenga cuidado con la carga retrasada del archivo DLL CRT si llama a funciones CRT que admitan parámetros de punto flotante en una pila de procesador de datos numéricos (NDP) en la función auxiliar.

Vea también

Conceptos

Compatibilidad del vinculador con las DLL de carga retrasada