Compartir a través de


Requisitos del servidor DLL

Aunque la mayoría de los archivos DLL se pueden ejecutar en un suplente, algunos archivos DLL no se pueden ejecutar.

El archivo DLL debe tener un buen comportamiento si desea usar el suplente proporcionado por el sistema. Por ejemplo, un archivo DLL que llama a métodos que registran devoluciones de llamada del cliente intentaría invocar esas devoluciones de llamada como si los punteros de función recibidos fueran para instrucciones en su espacio de direcciones, que no es el caso. Del mismo modo, un archivo DLL que usa una variable global a la que espera que el cliente tenga acceso no funcionaría. En general, los parámetros que no se pueden serializar correctamente impedirán que el servidor DLL se ejecute fuera del proceso de cliente. En muchos casos, puede escribir un suplente personalizado diseñado específicamente para compensar el comportamiento "incorrecto". (Para obtener más información, vea Escribir un suplente personalizado).

Si el servidor DLL usa interfaces personalizadas, tendría que asegurarse de que el código de serialización está disponible para esas interfaces. Por ejemplo, puede compilar y registrar un archivo DLL de proxy o proporcionar y registrar una biblioteca de tipos que permita que el servidor funcione correctamente mientras se ejecuta en un suplente.

Los servidores DLL solo se cargarán en un proceso suplente que se ejecuta en el contexto de seguridad adecuado. El contexto de seguridad para el suplente del servidor DLL se determina de la misma manera que para los servidores EXE. El suplente del servidor DLL se ejecuta en el mismo contexto de seguridad que el cliente, a menos que un valor RunAs , que determina el contexto de seguridad, se establezca en la sección Registro de AppID para el servidor.

Suplentes de DLL