Sprung zum Seitenende Struktur Themen A...Z Titel << >>

CXI-Basis-Programmierreferenz / Version 2 / Datenaustausch / Ebene 1 /

CreateGlobalAlias - Globaler Aliasname eines Meldungsempfängers

[C++] static CxiError CXIB :: CreateGlobalAlias (const char *aliasname, const char *recname)

[S2:STANDARD] erstellt eine globale Aliaszuordnung

aliasname:
neuer Aliasname

recname:
Name, in den der Aliasname umgesetzt werden soll

Für 'aliasname' gelten die gleichen Bedingungen wie für normale Meldungsempfänger. Der Parameter 'recname' muss einen der folgenden Werte annehmen:

- 1. Name eines anderen globalen Alias (geschachtelter Alias)
- 2. Name eines Meldungsempfängers (CxiMessageHandler(WithQueue))
- 3. Pfadangabe (Name eines Empfängers + \ + lokale Namen)
- 4. NULL, um die Aliaszuordnung aufzuheben

Bei Mehrdeutigkeit des Namens gilt die angegebene Reihenfolge. Beginnt der 'aliasname' mit einem Punkt, so gilt er nur für den aufrufenden Prozess, andernfalls für den gesamten Rechner. Prozessinterne Namen können auf rechnerglobale Namen (Alias oder real) verweisen; die umgekehrte Richtung ist zulässig, sollte jedoch nicht verwendet werden. Rechnerglobale Aliasnamen bleiben gültig, bis das Messagesystem entladen wird (d.h. das letzte Programm, das CXI benutzt, beendet ist).

Wird eine Meldung verschickt (Post(...)), so geht das CXI-System folgendermaßen vor:

- 1. Ist der Empfängername der Name eines lokalen Alias, wird er durch den Wert dieses Alias ersetzt. Wird eine Meldung mit der Basisfunktion cxiExtendedPost(...) verschickt, ist Schritt 1 nicht anwendbar und wird übersprungen.

- 2. Ist der Empfängername der Name eines globalen Alias, wird er durch den Wert dieses Alias ersetzt.

- 3. Die Schritte 1 und 2 werden sooft wiederholt, bis die maximale Rekursionstiefe (je 16) erreicht ist oder der Empfängername kein Aliasname mehr ist.

- 4. Der resultierende Empfängername wird wie bisher weiterverarbeitet: Die Meldung wird an einen registrierten Empfänger weitergeleitet.

Anmerkungen:

Die Alias-Ersetzung erfolgt immer bezogen auf die erste Komponente des Namens. Eine Pfadangabe (z.B. "R2\M1") wird daher umgesetzt, wenn ein Alias für den ersten Namensteil ("R2") existiert. Weitere Namensteile bleiben unberührt. Es ist möglich und sinnvoll, mit einem Alias einen einfachen Namen in eine Pfadangabe umzusetzen, zum Beispiel:

R0 -> SERVER\VERTEILER
R1 -> SERVER\RECHNER1
R2 -> R0\RECHNER2\R1

In obigem Beispiel wird hierdurch eine Meldung, die an R2\M1 adressiert wird, tatsächlich an SERVER\VERTEILER\RECHNER2\R1\M1 geschickt.

Die Umsetzung der Aliasnamen erfolgt erst beim Verschicken einer Meldung. Daher ist es nicht notwendig, dass der tatsächliche Empfänger vor dem Alias registriert wird.

Portabilität:
Diese Funktion ist in allen unterstützten Systemen verfügbar.

Siehe auch:
CreateLocalAlias - Lokaler Aliasname eines Meldungsempfängers
Klassenhierarchie Meldungssystem
class CxiMessageIdent - Adresse eines Meldungsempfängers
class CxiMessageHandlerBase - Meldungsempfänger Ebene 1
class CxiMessageHandler - Erweiterter Meldungsempfänger
class CxiMessageHandlerWithQueue - Erweiterter Meldungsempfänger mit Queue


[i] CXI-Basis-Programmierreferenz
Version 2.10 72 (1014-001), erstellt am 15. April 2000
Textseite 305 von 855, Thema 8297 (CreateGlobalAlias)
[c] Copyright (c) 1996-2000 by TeraConnect GmbH

Sprung zum Seitenanfang Struktur Themen A...Z Titel << >>