Freigeben über


Die NET_ROOT Struktur

Eine Nettostammstruktur, NET_ROOT, enthält Informationen für jede bestimmte Netzwerkserver\Freigabeverbindung, die von einem Netzwerkminiumleitungsmodul verwaltet wird.

Ein NET_ROOT ist das, was rdBSS und ein Netzwerk-Miniumleitungstreiber behandeln möchten, nicht einen Server. Dementsprechend erstellt und öffnet RDBSS normalerweise eine NET_ROOT Struktur und ruft den Netzwerk-Miniumleitungstreiber auf, der für das Öffnen des Servers verantwortlich ist. Der Netzwerk-Miniumleitungstreiber wird erwartet, dass die entsprechenden Felder in der übergebenen NET_ROOT Struktur aufgefüllt werden.

Eine Liste der NET_ROOT Strukturen wird von RDBSS für jede SRV_CALL verwaltet. Jede NET_ROOT Struktur weist einige Elemente auf, die mit anderen RDBSS-Strukturen gemeinsam sind, sowie Elemente, die für eine NET_ROOT Struktur einzigartig sind. Die RDBSS-Routinen, die NET_ROOT Strukturen verwalten, ändern nur die folgenden Elemente:

  • Signatur- und Referenzanzahl

  • Name und zugehörige Tabelleninformationen

  • Ein Zurückzeiger auf die zugeordnete SRV_CALL Struktur

  • Größeninformationen für die verschiedenen Unterstrukturen

  • Eine Nachschlagetabelle der zugeordneten FCB-Strukturen

  • Unabhängig davon, welcher zusätzliche Speicher vom Netzwerkminiumleitungsmodul angefordert wird (oder der Ersteller der NET_ROOT Datenstruktur)

Eine NET_ROOT Struktur enthält auch eine Liste der RX_CONTEXT Strukturen, die darauf warten, dass die NET_ROOT Übergang vor der Wiederaufnahme der IRP-Verarbeitung abgeschlossen wird. Dies geschieht in der Regel, wenn gleichzeitige Anforderungen an einen Server weitergeleitet werden. Eine dieser Anforderungen wird initiiert, während die anderen Anforderungen in die Warteschlange gestellt werden. Zusätzlicher Speicherplatz, der vom Netzwerk-Miniumleitungsmodul verwendet werden kann, beginnt am Ende der bekannten NET_ROOT Datenstruktur, sodass ein Netzwerk-Miniumleitungsmodul einfach auf diesen zusätzlichen Speicherplatz verweisen kann, indem Kontextfelder aus einer Includedatei verwendet werden.

Die Fertigstellung einer NET_ROOT-Struktur besteht aus zwei Teilen:

  1. Zerstören der Assoziation mit allen V_NET_ROOTS

  2. Freigeben des Arbeitsspeichers

Es kann eine Verzögerung zwischen diesen beiden Aktionen geben, und ein Feld in der NET_ROOT Struktur verhindert, dass der erste Schritt dupliziert wird.