Was geschieht während einer Abfrage?
In diesem Abschnitt wird beschrieben, wie das Netzwerk die Abfrage verarbeitet, wenn ein 32-Bit-Client nach einem Namen in seiner eigenen Domäne sucht.
Wenn Ihre Clientanwendung RpcNsBindingImportBegin aufruft, versucht der Locator, der sich auf Ihrem Clientcomputer befindet, diese Anforderung zu erfüllen. Wenn nichts im Cache vorhanden ist, wird die Anforderung per RPC an einen master Locator weitergeleitet. Wenn der master Locator nichts im Cache findet, sendet er die Anforderung an alle Computer in der Domäne mithilfe eines E-Mail-Slot-Broadcasts. Wenn eine Übereinstimmung vorhanden ist, antwortet der Locator auf jedem Computer durch einen gerichteten E-Mail-Slot. (Beispielsweise, wenn ein Prozess auf diesem Computer die Schnittstelle exportiert hat.) Die Antworten werden sortiert, und der RPC wird über den Prozesslocator des Clients abgeschlossen, der auf den Clientprozess selbst antwortet.
In einer Domäne sucht der Clientlocator an den folgenden Stellen nach einem master Locator:
- Auf dem primären Domänencontroller
- Auf jedem Sicherungsdomänencontroller
Wenn keine Übereinstimmung gefunden wird, deklariert sich der Clientlocator als master Locator. Daher werden Abfragen gesendet, wenn sie nicht lokal erfüllt werden können.
In einer Arbeitsgruppe verwaltet der Clientlocator einen Cache der Computer, deren Locators gesendet wurden. Es verwendet die, die am längsten als master Locator ausgeführt wurde. Wenn dieser Computer nicht verfügbar ist, wird der nächste, längste Sendecomputer verwendet usw. Wenn der Client einen master Locator benötigt und der Cache leer ist, füllt er den Cache auf, indem er eine spezielle E-Mail-Slot-Übertragung sendet, in der master Locators zur Antwort aufgefordert werden. Wenn keine Antworten vorhanden sind, deklariert sich der Clientlocator als master Locator und sendet Abfragen, wenn sie nicht lokal erfüllt werden können.
Dies ändert sich, wenn Ihre Clientanwendung ein 16-Bit- oder MS-DOS-basiertes Programm ist. In diesem Fall wird kein Locator auf dem Clientcomputer ausgeführt, und Rpcns1.dll oder Rpcnslm.rpc enthält den Code, um einen master Locator zu finden. Alle Anforderungen werden direkt an den master Locator weitergeleitet.
Diese Richtlinien gelten für Namen in der Domäne des Clients, z. B. Namen für "/.:/ entryname". Wenn der Client einen Namen von einer anderen Domäne über die Verwendung von "/.../DOMAIN/entryname;" anfordert, leitet der Clientlocator die Anforderung an die angegebene Domäne weiter, die sie sendet, wenn sie keine Antwort hat. Wenn die Domäne ausfällt oder tatsächlich eine Arbeitsgruppe ist, schlägt die Anforderung fehl.
Hinweis
Beachten Sie Folgendes, wenn Sie mit Einträgen im Namensdienst arbeiten:
- Ein Client kann die Syntax "/.../DOMAIN/entryname" nicht verwenden, um einen Eintrag in seiner eigenen Domäne zu finden. Verwenden Sie die Syntax "/.:/ entryname". Sie können jedoch "/.../DOMAIN/entryname" verwenden, um einen Eintrag in einer anderen Domäne zu finden.
- Der Domänenname in "/.../DOMAIN/entryname" muss Großbuchstaben sein. Bei der Suche nach einer Übereinstimmung beachtet der Locator die Groß-/Kleinschreibung.
- Bei Namen von Locatoreinträgen wird auch die Groß-/Kleinschreibung beachtet, muss aber nicht groß geschrieben werden.
- Wenn der Client "/.:/ entryname" Syntax, sucht der Locator nicht nach Einträgen in anderen Domänen, auch wenn sie eine Vertrauensstellung mit der Anmeldedomäne haben.
- Übertragungen werden nicht über LAN-Segmente (z. B. Subnetze) hinweg verwendet. Daher ist die Nützlichkeit des Locators in einer organization mit mehreren Subnetzen begrenzt.