DCOM95 1.3 Notas de la versión Ultima modificación: 14 de Septiembre 14 de 1998 DCOM95 proporciona soporte para COM distribuido en Microsoft® Windows® 95.El protocolo de cable DCOM proporciona un soporte transparente, para la comunicación fiable, segura y eficaz entre los componentes del Modelo de objetos componentes (COM), como los controles ActiveX®, las secuencias de comandos y los subprogramas Java que se encuentran en los distintos equipos de una LAN, una WAN o en Internet. Con DCOM, puede distribuir sus aplicaciones a través de las ubicaciones más lógicas para los clientes y para la aplicación. Para obtener información en profundidad, consulte la Información general técnica de DCOM, que está disponible en la página principal de Microsoft COM, http://www.microsoft.com/com/. Contenido ======== I. Nuevas características II. Errores corregidos III. Problemas conocidos IV. Diferencias frente a DCOM en Windows NT V. Redistribución VI. Soporte técnico y recursos VII. Lista de archivos I. Nuevas características ------------------------- No es posible sustituir una versión de DCOM95 con otra anterior En las versiones anteriores de DCOM95 era posible sustituir una versión de DCOM95 con otra versión anterior. Ahora, el programa de instalación comprueba los números de versión e impide instalar una versión sustituyendo a otra más reciente. Este cambio evitará problemas con versiones incompatibles de las DLL. Compatibilidad con la supervisión de procesos para Visual Studio 6.0 Por compatibilidad con Visual Studio 6.0, DCOM95 permite a los programadores supervisar la información, lo que les ayuda a comprender el comportamiento, el rendimiento y la estructura de la aplicación. Si utiliza el Analizador de Visual Studio en un equipo con Windows 95, siempre debería utilizar esta versión de DCOM95. El programa de instalación crea un nuevo directorio El programa de instalación crea un directorio llamado DCOM95, en el directorio del sistema. En el se guarda, entre otros archivos, el contrato de licencia de usuario final. El programa de instalación crea también un subdirectorio de DCOM95 llamado OLDOLE, en el que se crea una copia de seguridad de los antiguos archivos binarios de DCOM95 y OLE. Estos archivos se instalarán de nuevo si posteriormente se desinstala DCOM95. Servicios de Internet COM Los Servicios de Internet COM (CIS) permiten a los servidores y clientes conectarse a través de Internet mediante COM. CIS está formado por: * Un nuevo protocolo DCOM, Tunel TCP * Un nuevo tipo de moniker, OBJREF moniker * Una nueva aplicación CISCNFG Para que el cliente CIS sea compatible con Windows 95, debe instalar DCOM95 y DCOMCFG. Después, utilice la aplicación CISCNFG, que se instala con el programa de configuración de DCOM, para cambiar la clave del Registro que define el protocolo utilizado para los procesos remotos. En la ventana de la Interfaz de comandos, escriba: ciscnfg Donde es: * rpc para utilizar RPC * http para utilizar HTTP * tcp_http para probar primero TCP y, después, si el servidor supera el tiempo de espera, probar HTTP. Si utiliza el comando ciscnfg sin argumentos, podrá ver información acerca de cómo utilizarlo. No es necesario realizar actualizaciones SDK para utilizar el protocolo de Tunel TCP. Los moniker OBJREF tienen pocas actualizaciones. CreateObjrefMoniker Crea un moniker OBJREF basado en un puntero a un objeto. WINOLEAPI CreateObjrefMoniker( LPUNKNOWN pUnk, //Puntero al objeto LPMONIKER *ppMk //Dirección del puntero al moniker OBJREF ); Parámetros pUnk Puntero a la interfaz IUnknown en el objeto al que representará el moniker. ppMk Dirección de un puntero a la interfaz IMoniker en el moniker OBJREF creado. Valores que se obtienen Esta función admite los valores estándar E_OUTOFMEMORY y E_UNEXPECTED, así como los valores siguientes: S_OK El moniker OBJREF se creó correctamente. Comentarios Los clientes utilizan monikers OBJREF para obtener un puntero por petición a proceso remoto a un objeto que se ejecuta en el espacio de direcciones del servidor. El servidor, normalmente, llama a CreateObjrefMoniker para crear un moniker OBJREF y después llama a IMoniker::GetDisplayName, por último, libera el moniker. El nombre mostrado de un moniker OBJREF tiene la forma: OBJREF:nnnnnnnn Donde nnnnnnnn es un código de base 64 y longitud arbitraria que engloba la ubicación del equipo, el punto final del proceso y el Id. del puntero de interfaz (IPID) del objeto en ejecución. El nombre para mostrar puede transferirse al cliente como texto. Por ejemplo, puede estar en una página HTML descargada por el cliente. El cliente puede pasar el nombre para mostrar a MkParseDisplayName, que crea un moniker OBJREF basándose en esta información. Después, mediante una llamada al método IMoniker::BindToObject, obtiene un puntero por petición a un proceso remoto a la instancia que se ejecuta en el servidor. Por ejemplo, un componente COM del servidor, contenido en una página active server, puede crear un moniker OBJREF, obtener su nombre para mostrar y escribirlo en la salida HTML que se envía al explorador del cliente. Otra secuencia de comandos, que se ejecute en el cliente, puede utilizar el nombre para mostrar para obtener acceso al objeto en ejecución. Por ejemplo, una secuencia de comandos de Visual Basic podría almacenar el nombre para mostrar en una variable llamada strMyName e incluir la siguiente línea: objMyInstance = GetObject(strMyName) El motor de secuencia de comandos realiza internamente las llamadas a MkParseDisplayName y IMoniker::BindToObject y, entonces, la secuencia de comandos puede utilizar objMyInstance para hacer una referencia directa al objeto en ejecución. Si el objeto en ejecución utiliza punteros IPIDs estáticos y el proceso del servidor se ejecuta siempre en el mismo equipo y con un punto de finalización conocido, el nombre para mostrar del moniker OBJREF será siempre el mismo. En este caso, el servidor puede almacenar el nombre mostrado, en lugar de calcularlo cada vez que recibe una petición para el objeto. IMoniker: implementación del moniker OBJREF Un moniker OBJREF representa una referencia a una instancia de un objeto que se ejecuta en un servidor fuera de proceso, ya sea de forma local o remota. El moniker identifica la instancia del objeto y el equipo en el que se ejecuta. Un moniker OBJREF es, en muchos aspectos, parecido a un puntero moniker, con la diferencia de que el objeto en ejecución está fuera de proceso. Un cliente puede realizar una llamada a IMoniker::BindToObject en un moniker OBJREF y utilizar el puntero que obtiene para tener acceso al objeto en ejecución, independientemente de su ubicación. Una diferencia importante frente a un puntero moniker es que el nombre mostrado de un moniker OBJREF puede incrustarse en una página HTML y que una secuencia de comandos del cliente, un subprograma o un control ActiveX pueden enlazarse con el objeto en ejecución al que representa el moniker. Cuándo utilizarlo Un moniker OBJREF se utiliza principalmente para obtener acceso a través de Internet a una instancia de un objeto en ejecución. Una página active server, o algún otro método para generar contenido HTML dinámico, coloca el nombre para mostrar de un moniker OBJREF en un parámetro de un subprograma o de un control ActiveX. El código del subprograma o del control llama a CreateObjrefMoniker para crear un moniker OBJREF, basándose en esta información, y después llama a IMoniker::BindToObject en el moniker OBJREF resultante, para obtener acceso a la instancia del objeto en ejecución. Entonces, la página active server crea un puntero por petición a un proceso remoto desde el objeto en ejecución hasta el cliente de la página. Comentarios IMoniker::BindToObject. Para monikers OBJREF, el parámetro pmkToLeft debe ser NULL. Como el moniker OBJREF representa un objeto en ejecución, no se produce activación. Si el objeto representado ya no está en ejecución, BindToObject produce el error E_UNEXPECTED. IMoniker::BindToStorage. Este método obtiene un puntero por petición a un proceso remoto con la interfaz solicitada en el almacén que contiene el objeto en ejecución. Como el moniker OBJREF representa un objeto en ejecución, no se produce activación. Si el objeto representado ya no está en ejecución, BindToObject produce el error E_UNEXPECTED. IMoniker::Reduce. Este método obtiene MK_S_REDUCED_TO_SELF y devuelve el mismo moniker. IMoniker::ComposeWith. Si pmkRight es un anti-moniker, el moniker obtenido es NULL. Si pmkRight es un moniker compuesto en el que el componente situado en el extremo izquierdo es un anti-moniker, el moniker obtenido es el mismo elemento compuesto, una vez eliminado el anti-moniker situado en ese extremo. Si pmkRight no es ni un anti-moniker ni un moniker compuesto en el que el elemento del extremo izquierdo es un anti-moniker, el método comprueba el parámetro fOnlyIfNotGeneric. Si es FALSE, el método combina los dos monikers en un elemento compuesto genérico; si es TRUE, el método asigna el valor NULL a *ppmkComposite y devuelve MK_E_NEEDGENERIC. IMoniker::Enum. Este método devuelve S_OK y asigna el valor NULL a ppenumMoniker. IMoniker::IsEqual. Este método devuelve S_OK si *pmkOther es un moniker OBJREF y las rutas de ambos monikers son idénticas (mediante una comparación en la que no se diferencian mayúsculas y minúsculas). Si no es así, el método devuelve S_FALSE. IMoniker::Hash. Este método calcula un valor hash para el moniker. IMoniker::IsRunning. Como los monikers OBJREF representan una instancia de un objeto en ejecución, este método devuelve TRUE a menos que, por el error de una llamada reciente, se sepa que el objeto ya no está en ejecución. El método ignora pmkToLeft. IMoniker::GetTimeOfLastChange. Este método devuelve E_NOTIMPL. IMoniker::Inverse. Este método devuelve un anti-moniker (p. ej., el resultado de una llamada a CreateAntiMoniker). IMoniker::CommonPrefixWith. Si los dos monikers son iguales, este método devuelve MK_S_US y asigna el valor NULL a *ppmkPrefix. Si el otro moniker no es un moniker OBJREF, este método pasa ambos monikers a la función MonikerCommonPrefixWith. Esta función permite controlar correctamente el caso en el que el otro moniker es un moniker compuesto genérico. Si no existe un prefijo común, el método devuelve MK_E_. IMoniker::RelativePathTo. Este método devuelve E_NOTIMPL. IMoniker::GetDisplayName. Este método obtiene el nombre para mostrar del moniker OBJREF. El nombre para mostrar es un código de base 64 y longitud arbitraria que engloba la ubicación del equipo, el punto final del proceso y el Id. del puntero de interfaz (IPID) del objeto en ejecución. Para garantizar la compatibilidad en el futuro, el nombre para mostrar está limitado a caracteres que se puedan especificar como parte de una dirección URL. IMoniker::ParseDisplayName. Si pmkToLeft no es NULL, este método obtiene MK_E_SYNTAX. IMoniker::IsSystemMoniker. Este método obtiene S_OK y devuelve MKSYS_OBJREFMONIKER. Compatibilidad con tipos de datos de VB6.0 Visual Basic® 6.0 permite que las los tipos Variant de Visual Basic contengan estructuras de datos definidas por el usuario. DCOM95 puede utilizar ahora estos tipos Variant de forma remota. II. Errores corregidos ---------------------- Conflicto de velocidades al descargar varios módulos En versiones anteriores de DCOM95 se producía un conflicto de velocidades al descargar simultáneamente varios módulos. Según el orden de descarga de dichos módulos, podía producirse una infracción de acceso. Corregido en esta versión de DCOM95. El escritorio no responde durante las negociaciones del protocolo RPC Las versiones anteriores de DCOM95 no entregaban mensajes mientras negociaban los protocolos RPC. En ciertos casos, si el usuario ejecutaba otra aplicación durante la negociación de los protocolos RPC, el equipo parecía no responder. Después de 30 segundos continuaba el procesamiento de mensajes. Este comportamiento cambia en la nueva versión de DCOM95 y ya es posible ejecutar aplicaciones mientras se negocian los protocolos RPC. El escritorio no responde después de ejecutar una nueva aplicación RPC crea una ventana oculta en el Modelo de subprocesamiento múltiple controlado (MTA), que DCOM no necesita para distribuir mensajes. Cuando un usuario ejecuta desde el escritorio una nueva aplicación, Windows envía un mensaje a los identificadores de todas las demás ventanas para notificarles el suceso y espera una respuesta. En versiones anteriores de DCOM95, la ventana RPC oculta en ocasiones no respondía y Windows se bloqueaba. Esta versión de DCOM95 resuelve este problema y la ventana de RPC ya no impide responder al escritorio al ejecutar nuevas aplicaciones. Las direcciones IP múltiples dañan la pila En ciertas situaciones, al utilizar una versión anterior de DCOM95 en un equipo con más de una dirección IP, se desbordaba el búfer de dirección IP y se dañaba la pila. Corregido en la nueva versión de DCOM95. Sólo se utiliza la primera dirección IP Si utilizaba una versión anterior de DCOM95 en un equipo con dos tarjetas de red (y, por tanto, dos direcciones IP, cada una asignada a una tarjeta diferente), DCOM95 sólo utilizaba una de las tarjetas. En esta versión de DCOM95, si no funciona la primera tarjeta que se prueba, se utilizará la segunda. RPC prueba ahora múltiples direcciones IP Al realizar una llamada a un procedimiento remoto a una máquina con múltiples direcciones IP, si se produce un error al conectar con la primera se intentará conectar con las siguientes direcciones IP. Los monikers de archivo admiten la sintaxis de ruta adicional Ahora es posible crear monikers de archivo a partir de argumentos de la forma , como "C:\bug\bug\..\..\foo.jpg." En DCOM95 1.1 sólo se podía utilizar rutas relativas (p. ej., "..\..\foo.jpg") o absolutas (p. ej., "C:\foo.jpg"). Error de protección general al descargar Oleaut32.dll En las versiones anteriores de DCOM95, se producía un error de protección general al descargar Oleaut32.dll antes de realizar una llamada a CoUninitialize. Sucedía principalmente si una aplicación VB creaba un control vinculado de forma estática a Oleaut32.dll y, después, liberaba el control antes de llamar a CoUninitialize. En la nueva versión de DCOM95 ya no produce un error de protección general. Peticiones y recepciones de procesos remotos de tipos de Visual Basic Se corrigió la petición y recepción de procesos remotos de ciertos tipos de datos de Visual Basic. Ya se puede utilizar parámetros de matrices de más de 64 K. Las peticiones y recepciones de procesos remotos de las estructuras definidas mediante alias se realizar correctamente. Átomos eliminados demasiadas veces en OleUninitialize Este error apareció en aplicaciones que llamaban varias veces a OleInitialize y OleUninitialize. Durante la inicialización, OLE agrega muchos átomos para DDE RPC. Si otro subproceso ya agregó los átomos, no se agregan de nuevo. Sin embargo, al anular la incialización, los átomos siempre se eliminaban y no se anulaban los identificadores. Por tanto, la siguiente vez que se llamaba a OleInitialize, los identificadores aún existían, incluso aunque los átomos fueron eliminados, y OLE no los agregaba de nuevo. Esto hacía que todos los átomos OLE fueran inválidos después de múltiples llamadas a OleInitialize y OleUninitialize. Este problema se corrige en esta versión de DCOM95. Los servidores ADO se cierran correctamente Los objetos Active Data (ADO) utilizan punteros moniker para iniciar un proceso del servidor. Las versiones anteriores de DCOM95 contenían un error que se producía al contar las referencias a punteros moniker, por el que los punteros moniker se creaban con la referencia inicial 1, en lugar de 0. Por tanto, la cuenta de referencias de punteros moniker nunca llegaba al cero y no se liberaba el puntero moniker. Como resultado, los servidores ADO nunca se cerraban, incluso después de liberar el último puntero con referencias a ellos. Este problema se corrige en esta versión de DCOM95. CoCreateInstance funciona con su propio nombre DNS En las versiones anteriores de DCOM95, se producía un error al llamar a CoCreateInstance con el nombre completo de la máquina local. Este problema se corrige en la versión actual de DCOM95 y CoCreateInstance ya crea correctamente una instancia de la máquina local. Tiempo de entrega alto para archivos compuestos muy grandes en el almacén raíz En las versiones anteriores de DCOM95, el tiempo de entrega en un almacén raíz abierto en modo STGM_TRANSACTED era excesivamente lento cuando crecía mucho el archivo compuesto (p. ej. 400 MB). Aumentan los límites internos de la tabla de páginas, por lo que ya no es un problema. Exportar objetos desde un MTA En versiones anteriores de DCOM95, un servidor no podía exportar un objeto de un modelo de subprocesamiento controlado (MTA) si no era la primera vez que se creaba el MTA en el proceso. Este problema se corrige en esta versión. Ahora, si un servidor crea un MTA, lo destruye y lo crea de nuevo, será posible exportar objetos desde el MTA. Múltiples instancias de archivos EXE de Visual Basic En DCOM95 v1.1, al iniciar múltiples instancias del mismo archivo ejecutable de Visual Basic 4 y cerrarlas después en cualquier orden, excepto LIFO (último en entrar, primero en salir; Last-In First-Out), el último archivo EXE se bloqueaba. También sucedía en los E-Forms de Microsoft Exchange. Este problema se corrige en la nueva versión de DCOM95. Ahora es posible cerrar los ejecutables de Visual Basic 4 en cualquier orden. Caracteres extendidos en los nombres de archivos de Visual Basic Si asignaba a un módulo o clase de Visual Basic un nombre con caracteres extendidos para un determinado idioma, el archivo podía no abrirse en equipos con una configuración regional diferente. Este problema se corrige en esta versión. III. Problemas conocidos ------------------------ Corel WordPerfect Suite 7: la instalación provoca un error de página no válida Si instala Corel WordPerfect Suite 7 en un sistema Windows 95 que use DCOM95, es posible obtener un error de página no válida en PfOd70.pfc durante la instalación. Si aparece el error, cierre el cuadro de diálogo del error. El programa de instalación continuará correctamente. Microsoft Access95: la replicación de bases de datos no funciona Si intenta replicar una base de datos de Access en equipos con Microsoft Access 95 y DCOM95 instalados, es posible que aparezca el siguiente mensaje de error : Microsoft Access no puede completar la operación, no se puede encontrar o inicializar la biblioteca de vínculos dinámicos Msjtrclr. Este problema se produce con Microsoft Access 95. Para evitarlo puede escribir un programa que utilice el modelo de objetos de Access, en lugar de la herramienta de réplica, o utilizar el maletín para la replicación. Microsoft Access 97 no presenta este problema. WordPerfect Si tiene un documento de WordPerfect con una hoja de cálculo de Corel incrustada y ésta contiene otro objeto incrustado (por ejemplo, un mapa de bits), puede aparecer un cuadro de diálogo de advertencia que indique que se perdió la conexión de red al cerrar el objeto del nivel más interno. Puede haber cuatro o cinco advertencias de este tipo. Todas son benignas. Sólo tiene que cerrarlas y continuar. Los clientes del modelo de subprocesamiento múltiple (MTA) que utilizan rutinas de conversión BSTR pueden bloquear los mensajes DDE. Las rutinas de conversión de Automatización BSTR (por ejemplo, BstrFromR4) crean ventanas ocultas para facilitar la conversión de tipos. Estas ventanas no dan servicio a la cola de mensajes de Windows. Si se crea una de estas ventanas desde un cliente MTA, los mensajes DDE pueden bloquearse. El subproceso cliente no tiene obligación de dar servicio a la cola de mensajes en el modelo de programación MTA. Si no lo hace, esta ventana de nivel superior produce el bloqueo de los mensajes de difusión global. Existen dos métodos para evitar esta situación. Llamar las rutinas de conversión BSTR desde un cliente de procesamiento controlado simple (STA) o hacer que el subproceso MTA se comporte como un subproceso STA. (Un subproceso STA debe dar servicio a la cola de mensajes.) Si el subproceso se bloquea en un identificador win32, debe llamar a la función MsgWaitForMultipleObjects para entregar simultáneamente mensajes de Windows. Los nombres de rutas de acceso a DLL con más de 127 caracteres producen un error Si registra una DLL con una ruta de acceso de 128 caracteres o más, el proceso se realizará correctamente, pero CoCreateInstance o CoGetClassObject devolverán un error (REGDB_E_CLASSNOTREG) al tener acceso a un objeto soportado por esta DLL. IV. Diferencias frente a DCOM en Windows NT ------------------------------------------- Capacidades de seguridad de DCOM95 Las funciones principales y la interfaz de programación de aplicaciones (API) de DCOM95 son idénticas en Windows 95 y Windows NT 4.0/5.0. Sin embargo, determinadas capacidades relacionadas con la seguridad son diferentes debido a las diferentes infraestructuras de seguridad de los sistemas operativos. Se recomienda utilizar la configuración de seguridad predeterminada en el sistema operativo; también es necesario habilitar la seguridad en el nivel de usuario en los sistemas de archivos compartidos. (Vea la siguiente información.) Están disponibles los siguientes servicios, que pueden utilizarse para anular la configuración de seguridad predeterminada: * CoInitializeSecurity * CoQueryAuthenticationService * CoQueryProxyBlanket * CoSetProxyBlanket * CoQueryClientBlanket * IClientSecurity Interface * IServerSecurity Interface Sin embargo, ciertas capacidades que forman parte de DCOM para Windows NT no estarán disponibles en Windows 95 debido a las diferencias en la infraestructura de seguridad de éste. En particular, debe tenerse en cuenta la falta de funciones de seguridad de la API Win32 API, como la posibilidad de crear listas de control de acceso (ACLs) y la función AccessCheck, así como la falta de un contexto de seguridad asociado con los token de subproceso y de proceso. Windows 95 no soporta estas funciones o construcciones de forma nativa. Por ello, DCOM95 no admitirá la representación (en concreto, las funciones de Ayuda CoImpersonateClient y CoRevertToSelf en la interfaz IServerSecurity), que en Windows NT 4.0 se basa en la seguridad de token de subproceso (y de proceso). La representación suele utilizarse para controlar automáticamente el acceso a los recursos del sistema que pueden restringirse, como el sistema de archivos, otros procesos y la red. Estos recursos no pueden ser restringidos en Windows 95. Sin embargo, DCOM95 ofrece a los programadores varios objetos ayudante que permiten proporcionar las funciones de ACL y comprobación de acceso y que pueden utilizarse para controlar explícitamente el acceso de los clientes remotos, tanto al sistema como a los datos o recursos definidos por el usuario. Estos objetos ayudante los proporciona el objeto de sistema CLSID_DCOMAccessControl, que implementa la interfaz IAccessControl. IAccessControl debe utilizarse para administrar mediante programación los permisos de seguridad allí donde la portabilidad entre Windows 95 o 98 y Windows NT sea una preocupación. El objeto CLSID_DCOMAccessControl está disponible en todas las versiones de DCOM95 y en Windows NT 4.0 SP2 o posterior. Para obtener más detalles acerca de IAccessControl, consulte la documentación de Platform SDK. Seguridad de ejecución y acceso DCOM95 no permite controlar quién puede ejecutar código de servidor, ya que no es posible ejecutar servidores. Los servidores y las clases ya deben estar en ejecución para que los clientes remotos puedan conectarse y utilizar sus servicios. DCOM95 no admite la conexión con servidores o clases que ya estén en ejecución. La seguridad de acceso la proporciona la clave del Registro \APPID\{.}\AccessPermissions y se ajusta mediante la utilidad DCOMCNFG o durante la instalación o configuración del código del servidor. Los usuarios no autenticados podrán utilizar los servidores si configura la clase para admitir conexiones no autenticadas (mediante herramientas de configuración estáticas o dinámicamente, mediante la función CoInitializeSecurity). También puede crear listas ACL arbitrarias para definir qué usuarios y grupos pueden tener acceso a servicios específicos. Niveles de autenticación Los clientes DCOM95 pueden realizar llamadas DCOM con cualquier nivel de autenticación. Los servidores o clientes DCOM95 que reciben peticiones de devolución de llamadas sólo pueden aceptar llamadas DCOM mediante los niveles de autenticación RPC_C_AUTHN_LEVEL_NONE o RPC_C_AUTHN_LEVEL_CONNECT. Transportes DCOM95 sólo es compatible con conexiones mediante TCP. Si no tiene instalado el protocolo TCP/IP, DCOM95 no podrá soportar los servicios COM entre equipos. Configuración del Registro DCOM95 establece las siguientes claves del Registro en HKEY_LOCAL_MACHINE\Software\Microsoft\OLE: EnableDCOM (valor predeterminado = "Y"). Habilita DCOM en el equipo. Si el valor es "N", el equipo no puede conectarse a o activar objetos en equipos remotos y los equipos remotos no pueden conectarse con objetos del equipo local. Si el valor es "Y", es posible realizar la conexión como cliente con objetos remotos (cuando EnableRemoteConnect='N', como se explica antes) o la conexión completa cliente/servidor (cuando EnableRemoteConnect='Y', como se explica a continuación). EnableRemoteConnect (valor predeterminado= "N"). Habilita los servidores COM para admitir clientes remotos. Si el valor es "Y", es posible pasar a clientes remotos las referencias a interfaces en objetos locales y los clientes remotos pueden conectarse a objetos en ejecución. Cuando el valor es "N", el equipo puede conectarse a objetos remotos, pero no actuar como servidor: el equipo no puede conectarse a objetos en ejecución. Además, la siguiente clave del Registro se incluye en HKEY_CLASSES_ROOT\CLSID: {bdc67890-4fc0-11d0-a805-00aa006d2ea4}\InstalledVersion. Contiene el número de versión de DCOM95 en el formato "a,b,c,d". Descarga de componentes de Internet puede utilizar este valor para determinar si DCOM95 está instalado. El valor se agrega al registro durante la instalación y no debe modificarse. Utilizar Windows 95 como host de servidor remoto Windows 95 puede ser un host de servidor remoto, con las siguientes limitaciones: * No hay capacidad de ejecución. El proceso de servidor debe en ejecución para que el cliente se conecte. * Si se necesitan conexiones seguras, el servidor (y en el caso de devolución de llamadas, el cliente) debe tener configurado el nombre del proveedor en el control de acceso de nivel de usuario. * El valor de la clave del Registro "EnableRemoteConnect" debe ser "Y". DCOM95 se probó principalmente con el proveedor de seguridad de dominio de Windows NT. Puede haber problemas con otros proveedores de seguridad. Para establecer el control de acceso en nivel de usuario, debe instalar Filesec.vxd. Este archivo suele instalarse en equipos Windows 95 junto a Compartir impresoras y archivos. Para habilitar el control de acceso en nivel de usuario, abra el cuadro de diálogo Red en el Panel de control, haga clic en la ficha Control de acceso, active la casilla de verificación Control de acceso de los usuarios y escriba el nombre del dominio de seguridad. Este cambio puede afectar a los directorios que el equipo comparte en la red. Consulte la documentación en pantalla para obtener más información. Si no aparece la ficha Control de acceso en la configuración de la red, deberá instalar un servicio de cliente de red. Haga clic en la entrada Configuración de clientes de red del índice del Ayuda en pantalla para obtener información acerca de cómo instalar un cliente de red. V. Redistribución ----------------- Para obtener información acerca de la redistribución de DCOM95, consulte las instrucciones de redistribución que aparecen en el contrato de licencia de usuario final (licencia.txt). VI. Soporte técnico y recursos ------------------------------ Para España Los productos de consumo, los Sistemas Operativos Personales de Microsoft, como MS-DOS, Windows 3.x, Windows95 y WindowsNT Workstation, así como las aplicaciones de la familia Microsoft Office y los lenguajes y Kits de Desarrollo de Microsoft, cuentan con soporte Standard limitado gratuito. Para el resto de productos Microsoft que no disponen de soporte Standard así como una vez que esta modalidad de soporte gratuito hubiese acabado, Microsoft Ibérica pone a su disposición una amplia gama de servicios de Soporte Técnico que van desde la contratación de un incidente individual o packs de incidentes, hasta contratos Priority con servicios y privilegios especiales. Asimismo, en los Servicios de Información podrá encontrar toda la ayuda que necesite sin restriciones de horarios ni coste (excepto el de la llamada telefónica). Artículos técnicos, FAQ's (o las preguntas más comunes), Service Packs, Parches (correctores de errores concretos), Drivers actualizados y nuestra Base del Conocimiento (Knowledge Base). Todos estos servicios se pueden localizar en nuestra BBS local ( tlfno 91-803 59 77 ) en Internet (http://www.eu.microsoft/com/spain/support/) y en InfoVía (http://microsoft.inf/spain/support/). Los Servicios de Información, también cuentan con suscripciones anuales a Microsoft TechNet y a MSDN. Tambien podrá encontrar ayuda en nuestros Servicios de Información. Para más información, consulte nuestra web en www.microsoft.com/spain/support/ y/o llame a nuestro teléfono de Servicio a Clientes 902-197198. Nota: Microsoft se reserva el derecho de cambiar los servicios descritos sin previo aviso. Para Latinoamérica Microsoft Soporte Técnico está sujeto a los términos y condiciones vigentes en cada país donde se ofrece este servicio y está sujeto a cambio sin previo aviso. Soporte Técnico Telefónico Para llamar a soporte técnico debe tener a la mano la documentación correspondiente del producto Microsoft y seguir los siguientes pasos: · Se le pedirá el número de la versión del producto que está usando. · La fecha en la cual envió la tarjeta de registro del producto. · El número de producto o PID (Product Identification). · El tipo de hardware que está usando. · El Sistema Operativo. · Las palabras exactas de los mensajes que aparecen en la pantalla. · Una descripción de lo que ha sucedido y de lo que estaba haciendo cuando el problema se presentó. · Una descripción sobre cómo trató de resolver el problema. Los números telefónicos para soporte técnico se encuentran en la siguiente lista. Argentina Microsoft de Argentina S.A. Teléfonos: Servicios al Cliente: (54) (1) 316-4600 Fax: (54) (1) 316-1922 Soporte Técnico: (54) (1) 316-4664 Bolivia Vea Uruguay Brasil Microsoft Informática Ltda. Phone: : (55) (11) 5514 - 7100 Fax: (55) (11) 5514 - 7106/5514-7107 Technical Support Phone(55) (11) 5506 - 8087 Technical Support Fax: (55) (11) 5506 - 7621 Technical Support Bulletin Board Service (BBS): (55) (11) 5506 - 1234 Caribe y Centro América Microsoft Caribbean, Inc. CARIBE Servicio al Cliente: (506) 293 - 5339 Puerto Rico (EE:UU) 1-800-297-5982 Fax: (1) (954) 491-8849 Soporte Técnico: (506) 293-5860 (408) 953-8086 Centro América Soporte Técnico: (506) 293 - 5860 Chile Microsoft Chile S.A. Teléfono: 56-2-330-6000 Fax: 56-2-330-6190 Servicios de Información: 800-330-600 Soporte Técnico: Sistemas Operativos, aplicaciones, Juegos e Internet Explorer. Teléfono: 56-2-330-6222 Fax: 56-2-204-9424 Colombia Microsoft Colombia Línea de Respuesta Microsoft (Santafé de Bogotá D.C.) PBX: (571) 523-0022 Fax: (571) 523-1220 Correo de Voz: (571) 503-4216 Ecuador Microsoft del Ecuador S.A. PBX: (593) 2 - 263820 Fax: (593) 2 - 262894 México Microsoft México, S.A. de C.V. Aplicaciones y Sistemas Operativos de Escritorio: (52) (5) 265-3399 Herramientas de Desarrollo y Sistemas Avanzados: (52) (5) 267-2110 Servicios al Cliente: (52) (5) 265-3380 Bulletin Board Service: (52) (5) 628-6202 y 628-6200 (2400s/14400k baud, 8 bits, No parity, 1 stop bit, ANSI terminal emul.) (28800k baud, 8 bits, No parity, 1 stop bit, ANSI terminal emulation) User: MSMEXICO, NO Password Fast Tips & FaxBack: (52) (5) 267-2199 Paraguay Vea Uruguay Perú Microsoft Perú S.A. Servicios al Cliente: (51)(1) 422-4116 Fax: (51)(1) 440-2619 Uruguay/Paraguay/Bolivia. Teléfono: (598) (2) 774934 Fax: (598) (2) 774935 Venezuela Microsoft Venezuela S.A. Teléfono: (582) 265 99 22 Fax: (582) 265 08 63 Soporte Técnico: (582) 993 6755 Soporte gratuito Los grupos de noticias (en inglés) son un magnífico lugar para obtener soporte gratuito. Según lo permiten el tiempo y los recursos, los programadores, jefes de programa, ingenieros de soporte e ingenieros de pruebas de Microsoft visitan el sitio para recoger los comentarios de los usuarios y responder a las preguntas o corregir los malentendidos. No existe garantía alguna de que reciba una respuesta de Microsoft a cualquier pregunta realizada en los grupos de noticias. Puede utilizar los siguientes grupos de noticias para realizar preguntas acerca de DCOM95: * comp.os.ms-windows.programmer.ole * microsoft.public.win32.programmer.ole La lista de distribución de DCOM (en inglés) es otro método para obtener soporte gratuito. La ventaja de estar en una lista de distribución reside en que es aquí donde Microsoft realiza los primeros anuncios acerca de un determinado tema. De nuevo, el personal de Microsoft echa un vistazo de vez en cuando, pero no hay garantía de que respondan a los mensajes. Para obtener más información acerca de la lista de distribución de DCOM, visite la página de listas de distribución: http://www.microsoft.com/sitebuilder/resource/mail.asp. Comentarios Envíe cualquier comentario o informe de error a la lista de distribución de DCOM. Recursos Puede encontrar información adicional acerca de DCOM en la página principal de COM (en inglés), en la dirección http://www.microsoft.com/com/. VII. Lista de archivos ---------------------- Esta tabla muestra una lista de los números de versión de los archivos distribuidos con DCOM95. oleaut32.dll 2.40.4273 secur32.dll 4.10.1999 compobj.dll 2.3.2 ole2.dll 2.3.2 ole32.dll 4.71.2900 olecnv32.dll 4.71.2900 olethk32.dll 4.71.2900 rpcltc1.dll 4.71.2900 rpcltc5.dll 4.71.2900 rpcltccm.dll 4.71.2900 rpclts5.dll 4.71.2900 rpcltscm.dll 4.71.2900 rpcns4.dll 4.71.2900 rpcrt4.dll 4.71.2900 rpcss.exe 4.71.2900 storage.dll 2.3.2 stdole2.tlb 2.40.4273 stdole32.tlb 2.1 imagehlp.dll 4.00 dllhost.exe 4.71.2900 comcat.dll 5.0 iprop.dll 4.00 rpcmqcl.dll 4.71.2900 rpcmqsvr.dll 4.71.2900 olepro32.dll 5.0.4273 asycfilt.dll 2.40.4273 dcom2w98.dll 2.10.35.35 Esta tabla muestra una lista de los números de versión de los archivos distribuidos con DCM95CFG. dcomcnfg.exe 5.00.1603.0 ciscnfg.exe 4.71.2618