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.
Una estructura raíz de red, NET_ROOT, contiene información para cada servidor de red específico\conexión compartida mantenida por un minidirector de red.
Un NET_ROOT es lo que los RDBSS y un controlador minidirector de red quieren tratar, no con un servidor. En consecuencia, RDBSS normalmente crea y abre una estructura de NET_ROOT y llama al controlador minidirector de red responsable de abrir el servidor. Se espera que el controlador minidirector de red rellene los campos adecuados en la estructura de NET_ROOT pasada.
RDBSS mantiene una lista de las estructuras de NET_ROOT para cada SRV_CALL. Cada estructura NET_ROOT tiene algunos elementos comunes con otras estructuras RDBSS, junto con elementos que son únicos de una estructura de NET_ROOT. Las rutinas de RDBSS que administran NET_ROOT estructuras solo modifican los siguientes elementos:
Recuento de firmas y referencias
Nombre y información de tabla asociada
Puntero atrás a la estructura de SRV_CALL asociada
Información de tamaño de las distintas subestructuras
Tabla de búsqueda de estructuras FCB asociadas
Sea cual sea el almacenamiento adicional que solicite el minidirector de red (o el creador de la estructura de datos de NET_ROOT)
Una estructura de NET_ROOT también contiene una lista de estructuras de RX_CONTEXT que esperan a que se complete la transición de NET_ROOT antes de reanudar el procesamiento de IRP. Esto suele ocurrir cuando las solicitudes simultáneas se dirigen a un servidor. Una de estas solicitudes se inicia mientras se ponen en cola las otras. El minidirector de red reserva espacio adicional para su uso comienza al final de la estructura de datos NET_ROOT conocida para que un minidirector de red pueda hacer referencia simplemente a este espacio adicional mediante campos de contexto de un archivo de inclusión.
La finalización de una estructura de NET_ROOT consta de dos partes:
Destruir la asociación con todos los V_NET_ROOTS
Liberar la memoria
Puede haber un retraso entre estas dos acciones y un campo de la estructura NET_ROOT impide que se duplique el primer paso.