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 der Eingabe- und Ausgabestrukturen für jedes Protokoll muss angegeben werden, wenn das Protokoll implementiert wird.
Hinweis
Methodenbezeichnerwerte, die einem Bit entsprechen, das in der unteren Hälfte des MethodType-Members (die unteren 16 Bits) festgelegt ist, werden von Microsoft reserviert.
Um die Methode eines zweiten Clients aufzurufen, ruft ein Client die RtmInvokeMethod-Funktion auf. Der Routingtabellen-Manager vermittelt alle Anforderungen zum Aufrufen der Methoden eines Clients. Der Routingtabellen-Manager führt zwei Funktionen aus, wenn er zwischen Clients vermittelt:
- Verhindert, dass der zweite Client eine Methode für einen Client aufruft, der die Registrierung auf hebt.
- Beim Blockieren von Methoden wird eine "Invoke"-Anforderung gehalten, und die Anforderung kann fortgesetzt werden, wenn die Blockierung der Methoden aufgehoben wird.
Wenn ein Client verhindern muss, dass andere Clients seine Methoden ausführen, kann der Client RtmBlockMethods aufrufen. Der Routingtabellen-Manager lässt die Verarbeitung eines Aufrufs von RtmInvokeMethod erst zu, wenn der Client die Blockierung der Methoden wieder auf hebt.
Clients blockieren in der Regel Methoden, wenn Sie Änderungen an den privaten Daten vornehmen, die zwischen Clients ausgetauscht werden. Blockieren von Methoden ist eine optionale Aktion. Ein Client kann auch interne Sperren verwenden, um zu verhindern, dass andere Clients Methoden aufrufen.
Beispielcode zur Verwendung dieser Funktionen finden Sie unter Abrufen und Aufrufen der exportierten Methoden für einen Client.