| |
C-Sprache, die implizite Argumente zu den Betrieben Aug. 1997 abbildet 1-21 1 1,17 Implizite Argumente zu den Betrieben Vom Gesichtspunkt des c-Programmierers, erklärten alle Betriebe in einer Schnittstelle haben Sie zusätzliche führende Parameter, die Betrieb-spezifischen Parameter voranzugehen: 1. Der erste Parameter zu jedem Betrieb ist ein CORBA_Object Eingangsparameter; dieses Parameter kennzeichnet den Gegenstand, um den Antrag zu verarbeiten. 2. Der letzte Parameter zu jedem Betrieb ist ein CORBA_Environment * Ausgang Parameter; dieser Parameter ermöglicht die Rückkehr der Ausnahmeinformationen. 3. Wenn ein Betrieb in einer Spezifikation OMG IDL eine Kontextspezifikation hat, dann a CORBA_Context Eingangsparameter geht voran CORBA_Environment * Parameter und folgt allen Betrieb-spezifischen Argumenten. Wie oben beschrieben, das CORBA_Object schreiben Sie ist eine undurchlässige Art. CORBA_Environment schreiben Sie ist teilweise undurchlässig; Abschnitt 1,22, Fassend An Ausnahmen, auf Seite 1-26 stellt eine Beschreibung des nicht-undurchlässigen Teils von zur Verfügung Ausnahmestruktur und ein Beispiel von, wie man Ausnahmen im Klientencode anfaßt. CORBA_Context schreiben Sie ist undurchlässig; sehen Sie das dynamische Anforderungschnittstellenkapitel für mehr Informationen über, wie man Kontextgegenstände verursacht und manipuliert. 1,18 Deutung von Funktionen mit leeren Argumentlisten Eine Funktion, die mit einer leeren Argumentliste erklärt wird, wird definiert, um Nr. zu nehmen Betrieb spezifische Argumente. 1,19 Argument, das Betrachtungen Führt Für alle Arten OMG IDL (ausgenommen Reihen), wenn die Unterzeichnung OMG IDL daß spezifiziert Argument ist ein Heraus oder inout Parameter, dann der Anrufer muß die Adresse von immer führen eine Variable dieser Art (oder des Wertes eines Zeigers zu dieser Art); das aufgerufene Programm muß dereferenzieren Sie den Parameter, um an die Art zu gelangen. Für Reihen muß der Anrufer führen Adresse des ersten Elements der Reihe. Für innen Parameter, der Wert des Parameters müssen für alle grundlegenden Arten geführt werden, Aufzählungarten und Gegenstandhinweise. Für alle Reihen die Adresse von der ersten Element der Reihe muß geführt werden. Für alle weiteren strukturierten Arten die Adresse von a Variable dieser Art muß, unabhängig davon geführt werden, ob sie örtlich festgelegt oder Variable sind Länge. Für Zeichenketten eine Putzfrau * und wchar * muß überschritten werden. Für inout Parameter, die Adresse einer Variable der korrekten Art müssen für geführt werden alle von grundlegenden Arten, von Aufzählungarten, Gegenstand von und von strukturierte Arten. Für Zeichenketten, die Adresse einer Putzfrau * und * von einem wchar muß überschritten werden. Für alle Reihen die Adresse des ersten Elements der Reihe muß geführt werden. Betrachten Sie die folgende Spezifikation OMG IDL: // IDL Schnittstellenfoo { typedef langes Vector[25 ]; |  |
|
| |
|
|