Verwenden von Methoden
Wenn sich ein Client beim Routingtabellen-Manager registriert, kann er eine Reihe von Methoden exportieren. Diese Methoden werden von anderen Clients verwendet, um clientspezifische Informationen abzurufen. Methoden ermöglichen die private Kommunikation zwischen Clients des Routingtabellen-Managers.
Ein Client kann die Liste der Methoden abrufen, die von einem anderen Client exportiert werden. Der Client ruft die RtmGetEntityMethods-Funktion auf und stellt das Handle des Zielclients zur Verfügung.
Jede von einem Client exportierte Methode wird durch ihren Methodenbezeichner eindeutig identifiziert. Jeder Client kann bis zu 32 Methoden exportieren. Jede Methode entspricht einem Bitsatz im MethodType-Member der RTM _ ENTITY EXPORT _ _ METHOD-Struktur. Um mehrere Methoden aufzurufen, sollte der Client ein logisches OR der Bezeichner für diese Methoden ausführen. Die Syntax und Semantik von Eingabe- und Ausgabestrukturen für jedes Protokoll muss angegeben werden, wenn das Protokoll implementiert wird.
Hinweis
Methodenbezeichnerwerte, die einem in der unteren Hälfte des MethodType-Members festgelegten Bit entsprechen (die unteren 16 Bits), werden von Microsoft reserviert.
Um die -Methode eines zweiten Clients aufzurufen, ruft ein Client die RtmInvokeMethod-Funktion auf. Der Routingtabellen-Manager vermittelt alle Anforderungen, um die Methoden eines Clients aufzurufen. Der Routingtabellen-Manager führt zwei Funktionen aus, wenn er zwischen Clients vermittelt:
- Verhindern, dass der zweite Client eine Methode für einen Client aufruft, für den die Registrierung aufgehoben wird.
- Halten einer "Invoke"-Anforderung, wenn Methoden blockiert werden, und zulassen, dass die Anforderung fortgesetzt wird, wenn die Blockierung der Methoden aufgehoben wird.
Wenn ein Client verhindern muss, dass andere Clients seine Methoden ausführen, kann der Client RtmBlockMethodsaufrufen. Der Routingtabellen-Manager lässt die Verarbeitung eines Aufrufs von RtmInvokeMethod erst zu, wenn der Client die Blockierung seiner Methoden wieder aufgehoben hat.
Clients blockieren Methoden in der Regel, wenn Sie Änderungen an den privaten Daten vornehmen, die zwischen Clients ausgetauscht werden. Blockierende Methoden sind eine optionale Aktion. Ein Client kann auch interne Sperren verwenden, um zu verhindern, dass andere Clients Methoden aufrufen.
Beispielcode, der zeigt, wie diese Funktionen verwendet werden, finden Sie unter Abrufen und Aufrufen der exportierten Methoden für einen Client.