Compartir a través de


Secuencia de inicio

Para iniciar el proveedor de protocolos, el servicio Servicios de Escritorio remoto:

  • Recupera el nombre del agente de escucha y el CLSID del objeto de administrador de protocolos (IWRdsProtocolManager) del registro. Para obtener más información, consulte Registro del Administrador de protocolos.
  • Llama a Initialize para inicializar el administrador de protocolos.
  • Crea un objeto de administrador de protocolos mediante clSID. Incluso si hay varios agentes de escucha registrados para el mismo proveedor de protocolos, el servicio solo crea un objeto de administrador de protocolos.
  • Llama a CreateListener para indicar al objeto de administrador de protocolos que cree un objeto de agente de escucha IWRdsProtocolListener y lo devuelva al servicio. El objeto de administrador de protocolos debe agregar una referencia al objeto de agente de escucha antes de devolverlo al servicio. El servicio liberará el objeto cuando el servicio se detenga o se elimine el agente de escucha.
  • Llama a StartListen en el objeto de agente de escucha para que el agente de escucha pueda empezar a escuchar las conexiones entrantes.
  • Llama a StopListen para impedir que el objeto de escucha escuche.
  • Llama a Uninitialize para anular la inicialización del administrador de protocolos.

El agente de escucha crea un objeto IWRdsProtocolConnection cuando un cliente intenta conectarse. El objeto de escucha llama a OnConnected para notificar al servicio Servicios de Escritorio remoto que un nuevo cliente está intentando conectarse o volver a conectarse, y pasa el objeto IWRdsProtocolConnection en esa llamada. A su vez, el servicio Servicios de Escritorio remoto devolverá un objeto IWRdsProtocolConnectionCallback en esa llamada para que el protocolo pueda comunicarse con el servicio Servicios de Escritorio remoto según sea necesario. El servicio agrega una referencia al objeto de devolución de llamada antes de devolver y el protocolo debe liberar esa referencia cuando se cierra la conexión.

En la ilustración siguiente se muestra la interacción entre los distintos objetos durante el inicio.

rcm start sequence

Secuencia de llamadas de método

Secuencia de conexión