Compartir a través de


Conexión y resolución de nombres

Los mini redireccionadores de red establecen conexiones a servidores remotos y controlan la resolución de nombres mediante varias rutinas. RDBSS abstrae este proceso en varias estructuras, incluidas las estructuras de SRV_CALL, NET_ROOT y V_NET_ROOT que se cuentan a las que se hace referencia. En términos de minidirector de red, el establecimiento de una conexión suele denominar "conexión de árbol". Este establecimiento de conexión requiere la creación de un SRV_CALL, un NET_ROOT y una estructura de V_NET_ROOT. Por lo tanto, el procedimiento normal sería una llamada a la rutina MRxCreateSrvCall de minidirector de red seguida de una llamada a las rutinas MRxSrvCallWinnerNotify y MRxCreateVNetRoot . Normalmente, estas llamadas se emiten en respuesta a una solicitud de una aplicación o servicio en modo de usuario para montar una unidad (net use x: \\server\public, por ejemplo). Estas llamadas también pueden derivar de una solicitud de un objeto de archivo UNC (el Bloc de notas \\server\public\readme.txt, por ejemplo). RDBSS controla ambos casos internamente para el minidirector de red e inicia la secuencia MRxCreateSrvCall .

Cuando se elimina una conexión, se realizan llamadas finales similares para anular la SRV_CALL y NET_ROOT estructuras y liberar cualquier memoria usada. Estas llamadas al minidirector de red incluyen MRxFinalizeVNetRoot, MRxFinalizeNetRoot y MRxFinalizeSrvCall.

El diseño original de RDBSS era que varios mini-redireccionadores de red compartirían una sola copia de RDBSS, pero esto no se implementó. Una suspensión de este diseño original es que varios mini-redireccionadores de red compiten para cumplir la solicitud de una conexión de red (\\server\share, por ejemplo). RDBSS usa la rutina MRxSrvCallWinnerNotify para notificar a un minidirector de red que era el ganador cuando varios redireccionadores podían cumplir la solicitud. Se espera que el minidirector de red ganador cree el SRV_CALL y establezca una conexión con el servidor.

En la implementación de RDBSS en Windows Server 2003, Windows XP y Windows 2000, cada minidirector de red tiene su propia copia de RDBSS, por lo que no hay redireccionadores de red competidores en la capa RDBSS. Cada minidirector de red (proveedor de red) y su copia local de RDBSS se llama a su vez en función del orden en una configuración del Registro: el orden en el que se consultan los proveedores se controla mediante el siguiente valor del Registro:

ProviderOrder

Este valor del Registro se encuentra bajo la siguiente clave del Registro:

HKLM\CurrentControlSet\Control\NetworkProvider\Order

Se llamará a la rutina MRxSrvCallWinnerNotify después de cada solicitud para crear una estructura SRV_CALL.

En la tabla siguiente se enumeran las rutinas que puede implementar un minidirector de red para las operaciones de conexión y resolución de nombres.

Rutina Descripción
MRxCreateSrvCall

RDBSS llama a esta rutina para solicitar que el minidirector de red cree una estructura de SRV_CALL y establezca la conexión con un servidor.

MRxCreateVNetRoot

RDBSS llama a esta rutina para solicitar que el minidirector de red cree una estructura de V_NET_ROOT.

MRxExtractNetRootName

RDBSS llama a esta rutina para solicitar que un minidirector de red extraiga el nombre de la estructura de NET_ROOT para un nombre de ruta de acceso determinado.

MRxFinalizeNetRoot

RDBSS llama a esta rutina para solicitar que un minidirector de red finalice un objeto NET_ROOT.

MRxFinalizeSrvCall

RDBSS llama a esta rutina para solicitar que un minidirector de red finalice una estructura de SRV_CALL utilizada para establecer la conexión con un servidor.

MRxFinalizeVNetRoot

RDBSS llama a esta rutina para solicitar que un minidirector de red finalice una estructura de V_NET_ROOT.

MRxPreparseName

RDBSS llama a esta rutina para dar a un minidirector de red la oportunidad de preparar un nombre.

MRxSrvCallWinnerNotify

Esta rutina fue diseñada originalmente para ser llamada por RDBSS para notificar a un minidirector de red que era el ganador cuando varios redireccionadores podían cumplir la solicitud. Se espera que el minidirector de red ganador cree la estructura SRV_CALL y establezca una conexión con el servidor.

En la implementación actual de RDBSS, cada minidirector de red tiene su propia copia de RDBSS, por lo que no hay redireccionadores de red competidores en la capa RDBSS. Se llamará a esta rutina antes de cada solicitud para crear una estructura de SRV_CALL.

Cuando se instalan varios redireccionadores para controlar el mismo espacio de nombres UNC, MUP elige el redirector para atender una solicitud en función del orden de los redireccionadores especificados en el registro.