Compartir a través de


Interfaz de programación de red

Una interfaz de programación de red, o NPI, define la interfaz entre módulos de red que se pueden conectar entre sí. Un módulo de cliente registrado como cliente de un NPI determinado solo se puede adjuntar a los módulos de proveedor registrados como proveedores del mismo NPI. Del mismo modo, un módulo de proveedor registrado como proveedor de un NPI determinado solo se puede adjuntar a módulos cliente registrados como clientes del mismo NPI.

Cada NPI define los siguientes elementos:

  • Identificador NPI que identifica de forma única el NPI. Un módulo de red especifica un identificador NPI para indicar el NPI determinado que admite cuando el módulo de red se registra con el Registrador de módulos de red (NMR). Un módulo de red puede admitir varias NPIs registrándose con NMR varias veces, una vez por cada NPI que admita. El NMR iniciará la asociación de un módulo cliente a un módulo de proveedor solo si ambos admiten el mismo NPI.

  • Estructura de características de cliente opcional que especifica las características específicas de NPI de cada módulo cliente. Estas características específicas de NPI pueden incluir elementos como la versión (o las versiones) del NPI que admite un módulo de cliente o qué familia de direcciones o protocolo requiere un módulo cliente. Un módulo de proveedor puede usar la información contenida en la estructura de características de cliente de un módulo cliente para determinar si se asociará al módulo cliente. Si un NPI no define ninguna característica de cliente específica de NPI, esta estructura no es necesaria.

  • Estructura de características de proveedor opcional que especifica las características específicas de NPI de cada módulo de proveedor. Estas características específicas de NPI pueden incluir elementos como la versión (o las versiones) del NPI que admite un módulo de proveedor o qué familias de direcciones o protocolos admite un módulo de proveedor. Un módulo cliente puede usar la información contenida en la estructura de características de cliente de un módulo de proveedor para determinar si se asociará al módulo de proveedor. Si un NPI no define ninguna característica de proveedor específica de NPI, esta estructura no es necesaria.

  • Cero o más funciones de devolución de llamada del módulo cliente. Después de que un módulo de proveedor se conecte correctamente a un módulo cliente, el módulo de proveedor puede acceder a la funcionalidad del módulo cliente llamando a las funciones de devolución de llamada del módulo cliente.

  • Una o varias funciones de módulo de proveedor. Después de que un módulo cliente se adjunte correctamente a un módulo de proveedor, el módulo cliente puede acceder a la funcionalidad del módulo de proveedor mediante una llamada a las funciones del módulo de proveedor.

  • Estructura de tabla de distribución de cliente que contiene punteros de función a cada una de las funciones de devolución de llamada del módulo cliente. Si un NPI no define ninguna función de devolución de llamada del módulo cliente, esta estructura no es necesaria.

  • Estructura de tabla de despacho del proveedor que contiene punteros de función a cada una de las funciones del módulo del proveedor.

Un módulo de cliente que admite un NPI determinado usa los elementos definidos por el NPI para implementar el lado cliente de la interfaz. Del mismo modo, un módulo de proveedor que admite un NPI determinado usa los elementos definidos por el NPI para implementar el lado proveedor de la interfaz.

Todos los elementos definidos por un NPI son opacos para el NMR, excepto para el identificador NPI. NmR usa el identificador NPI para determinar qué módulos de cliente se deben adjuntar a qué módulos de proveedor.