Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cuando un cliente se registra con el administrador de tablas de enrutamiento, puede exportar un conjunto de métodos. Otros clientes usan estos métodos para obtener información específica del cliente. Los métodos permiten la comunicación privada entre los clientes del administrador de tablas de enrutamiento.
Un cliente puede obtener la lista de métodos exportados por otro cliente. El cliente llama a la función RtmGetEntityMethods , proporcionando el identificador del cliente de destino.
Cada método exportado por un cliente se identifica de forma única por su identificador de método. Cada cliente puede exportar hasta 32 métodos. Cada método corresponde a un conjunto de bits en el miembro MethodType de la estructura RTM_ENTITY_EXPORT_METHOD . Para invocar varios métodos, el cliente debe realizar un OR lógico de los identificadores para esos métodos. La sintaxis y la semántica de las estructuras de entrada y salida de cada protocolo deben especificarse cuando se implementa el protocolo.
Nota
Los valores de identificador de método que corresponden a un bit establecido en la mitad inferior del miembro MethodType (los 16 bits inferiores) están reservados por Microsoft.
Para invocar el método de un segundo cliente, un cliente llama a la función RtmInvokeMethod . El administrador de tablas de enrutamiento arbitra todas las solicitudes para invocar los métodos de un cliente. El administrador de tablas de enrutamiento realiza dos funciones cuando arbitra entre los clientes:
- Impedir que el segundo cliente invoque un método para un cliente que anule el registro.
- Mantener una solicitud de "invocar" cuando se bloquean los métodos y permitir que la solicitud continúe cuando se desbloquean los métodos.
Si un cliente debe impedir que otros clientes ejecuten sus métodos, el cliente puede llamar a RtmBlockMethods. El administrador de tablas de enrutamiento no permitirá que se procese una llamada a RtmInvokeMethod hasta que el cliente desbloquee sus métodos de nuevo.
Normalmente, los clientes bloquean métodos al realizar cambios en los datos privados que se intercambian entre los clientes. Los métodos de bloqueo son una acción opcional. Un cliente también puede usar bloqueos internos para evitar que otros clientes invoquen métodos.
Para obtener código de ejemplo que muestra cómo usar estas funciones, vea Obtener y llamar a los métodos exportados para un cliente.