| |
COBOL, das Den Spezifischen COBOLCBediener Der Art Abbildet Juni 1999 Abbildet 1-67 1 1,25,6 BedienstetcStrukturcInitialisierung Jeder Bedienstete benötigt Initialisierung und etherealization oder Vollendung, Funktionen. Für PortableServer-ServantBase, die ORB-Implementierung liefert das folgende Funktionen: ANRUF "VERWENDENDES Portableserver-servantbaseinit" Portableserver-Bediensteter Corba-Klima ANRUF "VERWENDENDES Portableserver-servantbasefini" Portableserver-Bediensteter Corba-Klima Diese Funktionen werden genannt, indem man "Init" und "Fini" zum Namen des Bediensteten hinzufügt, beziehungsweise. Das erste Argument zur initfunktion ist ein gültiges PortableServer-Bedienstetes dessen "vepv" Mitglied ist bereits zum Punkt zu einer VEPV-Struktur initialisiert worden. Das init Funktion führt ORB-spezifische Initialisierung des PortableServer-ServantBase durch, und initialisiert "beenden" structmitglied von spitz-zu PortableServer- ServantBase-epv zum Punkt zur Funktion PortableServer-ServantBaseFini() wenn "beenden Sie" Mitglied ist UNGÜLTIG. Wenn "beenden Sie", ist Mitglied nicht, es wird vorausgesetzt dem UNGÜLTIG es ist bereits richtig durch die Anwendung initialisiert worden und wird folglich nicht geändert. Ähnlich wenn Mitglied der Struktur PortableServer-ServantBase-epv zurückfallenSie ist NULL, wenn die initfunktion benannt wird, sein Wert wird eingestellt, um auf zu zeigen zurückfallen-POA Funktion, die einen Gegenstandhinweis auf der Wurzel POA zurückbringt. Wenn ein Bediensteter auf durch den PortableServer-Bediensteten zeigte, der zu einer initfunktion geführt wurde, hat a NULL "vepv" Mitglied oder wenn das PortableServer-Bedienstetargument selbst UNGÜLTIG ist, Nr. Initialisierung des Bediensteten wird und das CORBA::BAD_PARAM durchgeführt Standard Ausnahme wird über den CORBA-Environmentparameter angehoben. Dieses trifft auch auf zu Schnittstelle-spezifische initfunktionen, die unten beschrieben sind. Die Funktion Fini säubert nur herauf ORB-spezifische private Daten. Es ist die Rückstellung Vollendungfunktion für Bedienstete. Sie bildet keine Annahmen ungefähr wo Bediensteter wird, wie Annehmen zugeteilt, daß der Bedienstete Haufen-zugeteilt versuchend ist und zu Anruf MEMFREE auf ihm. Anwendungen werden die finifunktion für a "überlaufen gelassen" gegebener Bediensteter, indem er das PortableServer-ServantBase-epv "initialisiert, beenden" Zeiger mit einem Zeiger zu einer Vollendungfunktion spezifisch gebildet für diesen Bediensteten; jedoch irgend solche überlaufende Funktion muß dem das PortableServer- immer sicherstellen Funktion ServantBaseFini wird für diesen Bediensteten als Teil seiner Implementierung hervorgerufen. Resultate einer Vollendungfunktion, die PortableServer-ServantBaseFini hervorrufen nicht kann, sind Implementierung-spezifisch, aber kann Gedächtnisleckstellen oder -störungen umfassen, die abbrechen konnten Anwendung. Wenn ein Bediensteter zu einer finifunktion hat ein UNGÜLTIGES "epv" Mitglied überschritt oder wenn PortableServer-Bediensteter, den Argument selbst NULL, keine Vollendung des Bediensteten ist, ist durchgeführt und das CORBA::BAD_PARAM Standardausnahme wird über angehoben CORBA-Environmentparameter. Dieses trifft auch auf Schnittstelle-spezifische finifunktionen zu, welche unten beschrieben sind. |  |
|
| |
|
|