`
`. .
`16.4.2 DCE-CIOP Invoke Response Message . .
`.
`.
`.
`16.4.2.1 Invoke response header .
`.
`.
`.
`.
`.
`.
`.
`16.4.2.2 Invoke Response Body .
`.
`.
`.
`.
`16.4.3 DCE-CIOP Locate Request Message .
`. . . .
`.
`16.4.3.1 Locate Request Header .
`.
`.
`.
`.
`.
`.
`16.4.4 DCE-CIOP Locate Response Message . .
`. .
`16.4.4.1 Locate Response Header .
`.
`.
`.
`.
`.
`16.4.4.2 Locate Response Body .
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`. . .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. .
`.
`.
`.
`.
`.
`. . . .
`.
`.
`.
`.
`.
`.
`.
`.
`
`. 16-12
`.
`16-13
`.
`16-13
`. 16-14
`.
`16-14
`. 16-15
`. 16-15
`.
`16-16
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`16.5 DCE-CIOP Object References .
`16.5.1 DCE-CIOP String Binding Component .
`16.5.2 DCE-CIOP Binding Name Component .
`16.5.2.1 BindingNameComponent
`.
`.
`.
`.
`16.5.3 DCE-CIOP No Pipes Component .
`. . . .
`16.5.4 Complete Object Key Component . .
`. . .
`16.5.5 Endpoint ID Position Component.
`. .
`. .
`.
`16.5.6 Location Policy Component .
`. . .
`.
`. .
`. .
`.
`
`.
`
`.
`.
`.
`.
`. . . . .
`.
`.
`. .
`.
`.
`.
`.
`.
`.
`. .
`. . .
`. .
`. . .
`. .
`. .
`.
`. .
`.
`.
`.
`
`. 16-16
`.
`. 16-17
`.
`. 16-18
`.
`.
`16-18
`.
`. 16-19
`.
`. . 16-19
`.
`. 16-20
`.
`. 16-20
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`16.6 DCE-CIOP Object Location .
`16.6.1
`Location Mechanism Overview .
`16.6.2 Activation . .
`.
`. . . . . . . .
`.
`. . . .
`. . .
`
`.
`
`.
`.
`.
`.
`. . . . .
`. . .
`. .
`
`.
`.
`
`.
`
`.
`.
`.
`.
`. . . . .
`. . .
`. .
`
`. 16-21
`.
`. . 16-22
`.
`. 16-23
`
`. . 16-23
`. . . . .
`. . . . . .
`. . .
`16.6.3 Basic Location Algorithm . . .
`16.6.4
`Use of the Location Policy and the Endpoint 1D . 16-24
`16.6.4.1 Current location policy .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 16-24
`16.6.4.2 Original location policy .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`16-24
`16.6.4.3 Original Endpoint ID .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`16-24
`16.7 OMG IDL for the DCE CIOP Module .
`.
`.
`.
`.
`.
`.
`.
`.
`. 16-25
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`16.8 References for this Chapter .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 16-26
`
`17.
`
`Interworking Architecture .
`
`. . . .
`
`.
`
`.
`
`. . . . .
`
`. . . . . . . . . . . . . . . .
`
`. . 17-1
`
`17.1
`
`17.2
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Purpose of the Interworking Architecture .
`17.1.1 Comparing COM Objects to CORBA Objects .
`
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Interworking Object Model
`.
`'
`17.2.1 Relationship to CORBA Object Model . . . . .
`.
`17.2.2 Relationship to the OLE/COM Model .
`.
`. .
`. .
`17.2.3 Basic Description of the lnterworking Model .
`
`.
`.
`.
`.
`. ._
`.
`.
`
`17-2
`17-2
`
`17-3
`17-3
`17-4
`17-4
`
`17.3
`
`17.4
`
`17.5
`
`Interworking Mapping Issues .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Interface Mapping .
`.
`.
`.
`.
`.
`.
`.
`.
`17.4.1 CORBA/COM . .
`17.4.2 CORBA/Automation . . . . .
`17.4.3 COM/CORBA . . . . .
`. .
`. . .
`17.4.4 Automation/CORBA . .
`. . .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`17-8
`
`.
`.
`.
`.
`. .
`.
`. .
`. . . . .
`. . . . .
`. .
`.
`. .
`
`.
`
`.
`
`17-8
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`17-9
`. .
`. . . . . .
`. .
`. .
`.
`17-9
`. . .
`.
`.
`. . .
`. .
`. . .
`.
`.
`. . .
`.
`. . 17-10
`. .
`. .
`.
`.
`. . . . .
`.
`.
`. . .
`.
`. 17-10
`
`.
`.
`.
`.
`.
`Interface Composition Mappings .
`. . .
`. .
`. .
`17.5.1 CORBA/COM .
`.
`. . .
`. .
`.
`.
`.
`.
`.
`17.5.1.1 COM/CORBA .
`17.5.1.2 CORBA/Automation .
`17.5.1.3 Automation/CORBA .
`
`.
`
`.
`
`.
`
`.
`.
`. .
`.
`.
`.
`
`.
`.
`.
`
`.
`
`.
`
`.
`.
`.
`
`.
`. .
`.
`.
`.
`
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`. . .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`. 17-11
`.
`.
`. . . 17-11
`. ..
`17-12
`.
`.
`. 17-12
`.
`.
`.
`17-13
`
`. . . 17-13
`. .
`.
`.
`.
`. . . . .
`. .
`. . .
`.
`17.5.2 Detailed Mapping Rules .
`17.5.2.1 Ordering Rules for the CORBA->M1DL
`
`xxii
`
`Common Object Request Broker/lrchitecture (CORBA), v2.6
`
`December 2001
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 841 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 841 of 1442
`
`
`
`Contents
`
`.
`.
`.
`.
`.
`Transfonnation .
`17.5.2.2 Ordering Rules for the
`CORBA->Automation Transformation .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 17-13
`
`17-13
`
`. . . . . . .
`Example of Applying Ordering Rules .
`17.5.3
`. . . .
`.
`. .
`17.5.4 Mapping Interface Identity .
`.
`. . .
`. .
`. . .
`17.5.4.1 Mapping Interface Repository IDs to
`COM 11Ds
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`17.5.4.2 Mapping COM IlDs to CORBA
`1nterface1Ds .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 17-14
`. 17-16
`
`. 17-17
`
`. 17-18
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`17.6 Object Identity, Binding, and Life Cycle .
`.
`. . . .
`. .
`. . . . .
`17.6.1 Object Identity Issues . .
`. .
`. .
`. . .
`17.6.1.1 CORBA Object Identity and Reference
`Properties .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`17.6.1.2 COM Object Identity and Reference
`Properties .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`17.6.2 Binding and Life Cycle .
`. .
`. .
`. . .
`. .
`. .
`. .
`. . .
`.
`.
`.
`.
`.
`17.6.2.1 Lifetime Comparison .
`.
`.
`.
`.
`.
`.
`17.6.2.2 Binding Existing CORBA Objects to
`. 17-21
`.
`.
`COM Views .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`17.6.2.3 Binding COM Objects to CORBA Views 17-22
`17.6.2.4 COM View of CORBA Life Cycle .
`.
`.
`. 17-22
`17.6.2.5 CORBA View of COM/Automation
`
`.
`
`.
`
`.
`
`. 17-18
`. 17-19
`
`. 17-19
`
`.
`.
`. .
`.
`.
`
`. 17-19
`. 17-20
`. 17-20
`
`Life Cycle .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 17-23
`
`17.7
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Interworking Interfaces .
`. .
`.
`. .
`. . . . . . . . .
`.
`.
`.
`17.7.1
`Simp1eFa'ctory Interface . .
`17.7.2
`IMonikerProvider Interface and Moniker Use .
`
`.
`
`.
`
`. 17-23
`. 17-23
`. 17-23
`
`17.7.3
`
`ICORBAFactory Interface . .
`
`.
`
`. .
`
`. . .
`
`. . . . . . . . .
`
`. 17-24
`
`. .
`. . . . .
`.
`. .
`. . .
`.
`.
`lForeignObject Interface. ._. .
`17.7.4
`. . . . .
`. . . .
`.
`. . . .
`.
`lCORBAObject Interface .
`. .
`17.7.5
`. .
`. . .
`. . . .
`. . .
`. .
`ICORBAObject2 .
`. . . .
`.
`. .
`. . .
`17.7.6
`. .
`. . . . .
`.
`.
`. . .
`. .
`IORBObject Interface .
`. . .
`. . .
`17.7.7
`17.7.8 Naming Conventions for View Components .
`.
`.
`17.7.8.1 Naming the COM View interface '. .
`.
`.
`17.7.8.2 Tag for the Automation Interface 1d .
`.
`17.7.8.3 Naming the Automation View Dispatch
`Interface .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`17.7.8.4 Naming the Automation View Dual
`Interface .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`17.7.8.5 Naming the Program Id for the COM
`Class .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 17-26
`. 17-27
`. 17-28
`. 17-28
`. 17-30
`. 17-30
`. 17-30
`
`.
`
`.
`
`l7-30
`
`17-31
`
`. 17-31
`
`. 17-32
`
`17.7.8.6 Naming the Class id for the COM
`Class
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`17.8 Distribution .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.-
`
`.
`
`.
`
`. 17-32
`
`. . .
`Bridge Locality . . . . . . .
`17.8.]
`17.8.2 Distribution Architecture .
`
`. . .
`. . .
`
`. . . . . . . . .
`. .
`. . . . . . .
`
`.
`. .
`. . .
`
`. .
`. .
`
`. 17-32
`. 17-33
`
`17.9
`
`Interworking Targets .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`17.10 Compliance to COM/CORBA Interworking .
`I7.10.1 Products Subject to Compliance .
`. .
`l7.l0.1.1 Interworking solutions .
`17.10.1.2 Mapping solutions .
`.
`.
`.
`
`.
`.
`
`.
`.
`. . .
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`
`.
`
`.
`. .
`.
`.
`
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`. 17-34
`
`.
`.
`. .
`.
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`. .
`.
`.
`.
`.
`
`. 17-34
`. 17-34
`. 17-34
`.
`17-35
`
`December 2001
`
`Common Object RequestBroker/trchilecture (CORBA), V2.6
`
`xxiii
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 842 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 842 of 1442
`
`
`
`Contents
`
`17.10.1.3 Mapped components .
`l7.l0.2 Compliance Points . . .
`. .
`.
`. . .
`. .
`. .
`
`.
`
`.
`
`.
`.
`. . .
`
`.
`.
`.
`. . .
`
`.
`.
`
`.
`.
`. .
`
`.
`.
`
`.
`.
`
`. 17-35
`. 17-36
`
`18. Mapping: COM and CORBA . . . . . . . . . . . . . . . . . . . . . . .
`
`. . . . . 18-1
`
`18.1 Data Type Mapping .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`18-1
`
`.
`
`.
`
`18-2
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`18.2 CORBA to COM Data Type Mapping .
`18-2
`.
`. . . . . . . .
`. . .
`. .
`18.2.1 Mapping for Basic Data Types .
`18-2
`. . . . . . . . .
`. . .
`18.2.2 Mapping for Constants . . . . . .
`. . .
`18-3
`.
`. .
`.
`. .
`.
`.
`.
`. . .
`18.2.3 Mapping for Enumerators . . .
`. . .
`18-4
`.
`. .
`. . .
`.
`.
`.
`18.2.4 Mapping for String Types . . . .
`. . . . . .
`18-4
`18.2.4.1 Mapping for Unbounded String Types .
`18-5
`18.2.4.2 Mapping for Bounded String Types .
`.
`.
`18-5
`18.2.5 Mapping for Struct Types . . . . .
`. . . . .
`. . .
`. . . .
`.
`.
`18-6
`18.2.6 Mapping for Union Types . .
`. .
`. . . . . .
`.
`. . . .
`.
`. . .
`18-8
`18.2.7 Mapping for Sequence Types .
`. . . . . . .
`. .
`. . .
`. .
`.
`18.2.7.1 Mapping for Unbounded Sequence Types 18-8
`18.2.7.2 Mapping for Bounded Sequence Types
`18-8
`.
`18.2.8 Mapping for Array Types . .
`. . .
`. . . . .
`.
`. . . .
`.
`. .
`18-9
`.
`18.2.9 Mapping for the any Type . . . . . . . . . . .
`. .
`. . . . .
`18-9
`18.2.10 lnterface Mapping . .
`.
`. .
`.
`. . . .
`.
`.
`.
`. . . .
`. .
`. .
`. . . . 18-11
`18.2.l0.l Mapping for interface identifiers .
`.
`.
`.
`.
`18-11
`18.2._10.2 Mapping for exception types .
`.
`.
`.
`.
`.
`.
`.
`18-11
`18.2.10.3 Mapping for Nested Types .
`.
`.
`.
`.
`.
`.
`.
`.
`18-21
`l8.2.10.4 Mapping for Operations
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 18-22
`18.2.10.5 Mapping for Oneway Operations .
`.
`.
`. 18-24
`18.2.10.6 Mapping for Attributes .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 18-24
`18.2.10.7 lndirection Levels for Operation
`Parameters .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`. 18-26
`
`18.3
`
`. . . 18-26
`. . .
`. .
`. . . .
`. . .
`. . . .
`.
`. .
`18.2.11 Inheritance Mapping .
`.
`.
`. 18-29
`. . .
`.
`. . . . .
`. . .
`18.2.12 Mapping for Pseudo-Objects .
`l8.2.12.1 Mapping for TypeCode pseudo-object
`18-29
`18.2.12.2 Mapping for context pseudo-object .
`.
`. 18-31
`l8.2.l2.3 Mapping for principal pseudo-object
`. 18-32
`18.2.13 lnterface Repository Mapping .
`. .
`. . .
`.
`. .
`. . .
`. .
`. 18-32
`
`.
`
`.
`
`.
`
`.
`
`. 18-33
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`COM to CORBA Data Type Mapping .
`. 18-33
`.
`.
`.
`. .
`.
`.
`.
`. . .
`. .
`18.3.] Mapping for Basic Data Types .
`. 18-34
`.
`.
`. . .
`. .
`. . . .
`.
`.
`18.3.2 Mapping for Constants .
`.
`.
`. . .
`.
`. . . . .
`. .
`. . . . . . . 18-34
`18.3.3 Mapping for Enumerators . .
`.
`.
`. .
`. . . .
`. .
`. . .
`.
`.
`. 18-35
`18.3.4 Mapping for String Types .
`. . . .
`18.3.4.1 Mapping for unbounded string types .
`.
`. 18-35
`18.3.4.2 Mapping for bounded string types .
`.
`.
`.
`. 18-36
`18.3.4.3 Mapping for Unicode Unbounded
`. 18-36
`.
`.
`.
`.
`String Types
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`18.3.4.4 Mapping for unicode bound string types
`18-37
`18.3.5 Mapping for Structure Types .
`. . .
`. . .
`.
`.
`.
`. . . . .
`. 18-37
`18.3.6 Mapping for Union Types . .
`. . .
`. . . . .
`.
`. .
`. . .
`. .
`. 18-38
`18.3.6.1 Mapping for Encapsuiated Unions .
`.
`.
`. 18-38
`18.3.6.2 Mapping for nonencapsulated unions .
`. 18-39
`18.3.7 Mapping for Array Types . .
`. . .
`. . . . .
`. . . . . .
`. .
`. 18-40
`18.3.7.1 Mapping for nonfixed arrays .
`.
`.
`.
`.
`.
`.
`.
`. 18-40
`
`xxiv
`
`Common Object Request Broker Architecture (CORBA), v2. 6
`
`December 2001
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 843 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 843 of 1442
`
`
`
`Contents
`
`.
`.
`.
`.
`.
`.
`.
`18.3.7.2 Mapping for SAFEARRAY .
`. .
`. . .
`18.3.8 Mapping for VARIANT .
`. . . . .
`.
`. . . . . . . .
`. .
`. . .
`18.3.9 Mapping for Pointers . . .
`.
`. . . .
`.
`. . . . .
`.
`.
`.
`.
`.
`18.3.10 lnterface Mapping . . . .
`.
`.
`. . . . . . .
`.
`.
`.
`.
`.
`. . . .
`.
`.
`18.3.10.1 Mapping for Interface ldentifiers
`.
`.
`.
`.
`18.3.10.2 Mapping for COM Errors .
`.
`.
`.
`.
`.
`.
`.
`.
`18.3.10.3 Mapping of Nested Data Types .
`.
`.
`.
`.
`18.3.10.4 Mapping of Names
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`18.3.10.5 Mapping for Operations
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`18.3.10.6 Mapping for Properties .
`.
`.
`.
`.
`.
`.
`.
`18.3.11 Mapping for Read-Only Attributes . . . .
`. . . . .
`.
`18.3.12 Mapping for Read-Write Attributes . . .
`.
`. . . .
`.
`l8.3.12.1 lnheritance Mapping .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`18.3.12.2 Type Library Mapping .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`19. Mapping: Automation and CORBA . .
`
`. . . .
`
`. . .
`
`. . . . .
`
`.
`
`.
`
`. . . . .
`
`.
`19.1 Mapping CORBA Objects to Automation .
`19.1.1 Architectural Overview .
`.
`. . . . .
`. .
`
`.
`.
`
`.
`.
`.
`. . . .
`
`.
`
`.
`.
`.
`. . . .
`
`.
`.
`
`19.1.2 Main Features of the Mapping . . .
`
`. . . . .
`
`.
`
`. . . .
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19.2 Mapping for Interfaces .
`19.2.1 Mapping for Attributes and Operations . . . . .
`19.2.2 Mapping for OMG 1DL Single lnheritance . . .
`19.2.3 Mapping of OMG IDL Multiple lnheritance. .
`
`.
`
`.
`.
`
`.
`
`.
`.
`.
`.
`
`18-40
`.
`. 18-41
`. 18-43
`. 18-44
`.
`18-44
`.
`18-44
`.
`18-47
`.
`18-47
`.
`18-47
`.
`18-48
`. 18-49
`. 18-49
`.
`-18-50
`.
`18-52
`
`. 19-1
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`
`19-2
`19-2
`
`19-3
`
`19-3
`19-4
`19-5
`19-6
`
`.
`
`.
`
`.
`
`.
`.
`.
`
`.
`
`'19-9
`19-9
`.
`. 19-10
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19.3 Mapping for Basic Data Types .
`. . . .
`.
`.
`.
`. . .
`. . .
`19.3.1 Basic Automation Types . . . . .
`19.3.2
`Special Cases of Basic Data Type Mapping . . .
`19.3.2.1 Converting Automation long to
`.
`.
`.
`.
`CORBA unsigned long .
`.
`.
`.
`.
`.
`19.3.2.2 Demoting CORBA unsigned long to
`.
`.
`Automation long .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19.3.2.3 Demoting Automation long to CORBA
`19-11
`.
`unsigned short
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19.3.2.4 Converting Automation boolean to CORBA
`boolean and CORBA boolean to Automation
`boolean .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19-11
`
`.
`
`.
`
`. 19-10
`
`.
`
`19-11
`
`19.3.3 Mapping for Strings .
`
`.
`
`.
`
`.
`
`. . . . .
`
`. .
`
`.
`
`. . . . .
`
`. . .
`
`.
`
`.
`
`. 19-11
`
`19.4
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`IDL to ODL Mapping .
`19.4.1 A Complete 1DL to ODL Mapping for ‘the Basic
`Data Types .
`. . . .
`.
`.
`.
`.
`. .
`.
`. .
`.
`.
`. . . .
`. . . . . .
`. .
`. .. 19-12
`
`. 19-12
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`19.5 Mapping for Object References .
`.
`.
`. . . . . .
`. .
`19.5.1
`Type Mapping .
`.
`.
`. . .
`19.5.2 Object Reference Parameters and
`lForeign0bject .
`. .
`.
`.
`.
`.
`.
`.
`.
`.
`. .
`. . .
`
`_
`
`.
`. .
`
`.
`.
`.
`. . . .
`
`.
`.
`. .
`
`. 19-15
`.
`.
`. .. 19-15
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. .
`
`. . 19-16
`
`19.6 Mapping for Enumerated Types .
`
`.
`
`.
`
`.
`
`19.7 Mapping for Arrays and Sequences .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`19.8 Mapping for CORBA Complex Types .
`19.8.] Mapping for Structure Types . . . . . . .
`19.8.2 Mapping for Union Types .
`.
`. . .
`.
`. . . .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`. . .
`. . . .
`.
`. .
`. .
`. .
`
`.
`
`.
`
`.
`.
`.
`
`. 19-17
`
`. 19-18
`
`. 19-19
`. 19-20
`. 19-21
`
`December 2001
`
`Common Object Request Brnker/irchiiecture (CORBA). V2.6
`
`xxv
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 844 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 844 of 1442
`
`
`
`Contents
`
`.
`
`. . 19-30
`
`. 19-22
`.
`.
`. .
`. .
`. . .
`.
`.
`.
`. .
`.
`. .
`19.8.3 Mapping for TypeCodes . .
`. 19-24
`.
`.
`. .
`. .
`. . .
`.
`.
`. . . . . .
`19.8.4 Mapping for anys . . . . .
`. . .
`. 19-25
`.
`.
`. . . .
`. . . . .
`19.8.5 Mapping for Typedefs .
`. .
`. . .
`. . . .
`. 19-25
`.
`.
`. . . .
`. . . . .
`19.8.6 Mapping for Constants . .
`.
`. . . . . .
`. 19-26
`.
`.
`19.8.7 Getting Initial CORBA Object References .
`.
`19.8.8 Creating Initial in Parameters for Complex Types19-27
`19.8.8.1 1TypeFactory Interface .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19-29
`19.8.8.2 D10bjectlnfo Interface .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19-29
`19.8.9 Mapping CORBA Exceptions to Automation
`Exceptions . . . . . . .
`. . . .
`.
`.
`. . . . . . . . . . .
`. .
`. .
`19.8.9.1 Overview of Automation Exception
`.
`.
`.
`.
`Handling .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19.8.9.2 CORBA Exceptions
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19.8.9.3 CORBA User Exceptions .
`.
`.
`.
`.
`.
`.
`19.8.9.4 Operations that Raise User Exceptions .
`19.8.9.5 CORBA System Exceptions .
`.
`.
`.
`.
`.
`.
`.
`.
`19.8.9.6 Operations that raise system exceptions
`19.8.10 Conventions for Naming Components of the
`Automation View . .
`.
`.
`. .
`.
`.
`. . .
`.
`.
`. .
`.
`. . . .
`.
`. .
`
`19-30
`19-30
`19-31
`19-32
`19-33
`19-34
`
`.
`
`. . 19-36
`
`19.8.11 Naming Conventions for Pseudo-Structs, Pseudo-
`Unions, and Pseudo-Exceptions .
`. . . . .
`.
`. .
`. .
`.
`. . 19-36
`19.8.12 Automation View Interface as a Dispatch
`Interface (Nondual) .
`. . . . . . . .
`. . . .
`. . .
`. . .
`19.8.13 Aggregation of Automation Views . . . . . .
`.
`19.8.14 D11 and DSI . . . . . . . . .
`. . .
`. .
`. .
`. . . . . .
`.
`. .
`
`. . . . . 19-36
`. .
`.
`. . 19-38
`. .
`.
`.
`. 19-38
`
`.
`.
`.
`19.9 Mapping Automation Objects as CORBA Objects .
`19.9.1 Architectural Overview . .
`. . . .
`. . . . . . .
`. . . . .
`
`.
`.
`
`.
`.
`
`. 19-38
`. 19-38
`
`. . . . . . 19-39 '
`.
`.
`.
`.
`.
`19.9.2 Main Features of the Mapping . . . .
`. .
`. .
`.
`.
`. 19-40
`. . . .
`19.9.3 Getting Initial Object References . .
`19.9.4 Mapping for Interfaces . .
`. . .
`. .
`. . . . . . . . .
`. .
`.
`. . 19-40
`19.9.5 Mapping for Inheritance .
`. . . . .
`.
`. . . . .
`. . . . .
`.
`.
`. 19-40
`19.9.6 Mapping for ODL Properties and Methods. .
`.
`. . 19-41
`19.9.7 Mapping for Automation Basic Data Types. .
`.
`. . 19-42
`19.9.7.1 Basic automation types .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`19-42
`19.9.8 Conversion Errors . . . .
`. .
`.
`. .
`. .
`. . . . . .
`. .
`. .
`.
`. . 19-43
`
`.
`
`19.9.9
`
`Special Cases of Data Type Conversion . . .
`19.9.9.1 Translating COM::Currency to
`Automation CURRENCY .
`.
`.
`19.9.9.2 Translating CORBA double to
`Automation DATE .
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`. .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 19-43
`
`.
`
`19-43
`
`.
`
`. 19-43
`
`.
`
`.
`
`19.9.9.3 Translating CORBA boolean to
`Automation boolean and Automation
`boolean to CORBA boolean .
`.
`.
`.
`.
`.
`
`.
`
`.
`
`. 19-43
`
`19.9.10 A Complete OMG IDL to ODL Mapping for the Basic
`Data Types .
`. . . .
`. .
`. .
`. . .
`. . . . . .
`. .
`. . . . . . . . . .. 19-44
`19.9.11 Mapping for Object References .
`. . . . . . . .
`. .
`.
`.
`. 19-46
`19.9.12 Mapping for Enumeratcd Types .
`. . . . .
`. .
`. . .
`.
`. . 19-47
`19.9.13 Mapping for SafeArrays . .
`. .
`.
`.
`.
`. .
`. . .
`. . .
`. .
`.
`.
`. 19-48
`19.9.l3.1 Multidimensional SafeArrays .
`.
`.
`.
`.
`.
`.
`19-48
`19.9.14 Mapping for Typedefs .
`. . . . .
`. . . .
`. .
`.
`. . . . . .
`.
`. . 19-48
`
`xxvi
`
`Common Object Request Brokerxtrchitecture (CORBA). V2.6
`
`December 2001
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 845 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 845 of 1442
`
`
`
`Contents
`
`. .
`. .
`. . .
`. . . .
`. . . . . .
`19.9.15 Mapping for VARlANTs . .
`19.9.16 Mapping Automation Exceptions to CORBA . .
`
`. 19-48
`. 19-49
`
`19.10 Older Automation Controllers .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 19-49
`
`19.10.l Mapping for OMG IDL Arrays and Sequences
`to Collections . . .
`.
`. .
`. . .
`. .
`.
`. .
`. . .
`.
`.
`. . . .
`.
`.
`.
`. .. 19-49
`
`'
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.1.
`.
`.
`.
`.
`.
`19.11 Example Mappings .
`19.11.1 Mapping the OMG Naming Service to
`Automation . . .
`.
`.
`. . . . . .
`. . . . . . . . . .
`. . . .
`
`.
`
`.
`
`..
`
`.
`
`.
`
`.
`
`.
`
`. 19-51
`
`.
`
`.
`
`.
`
`. . . 19-51
`
`. . . 19-51
`.
`.
`.
`l9.11.2 Mapping a COM Service to OMG IDL . .
`19.11.3 Mapping an OMG Object Service to Automation 19-55
`
`20.
`
`. . . . . . . . . . . . . . . . 20-1
`Interoperability with non-CORBA Systems .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 20-1
`20.1
`Introduction .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.1.1 COM/CORBA Part A .
`. . . . . . . . . . . . . .
`.
`. .
`. . .
`20-2
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`20.2 Conformance Issues .
`20.2.1
`Performance Issues .
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`. . .
`
`.
`
`.
`.
`. . .
`
`.
`.
`
`.
`.
`.
`.
`.
`. . . . . .
`
`.
`
`.
`.
`. . .
`
`. . .
`. . . . . . . . . .
`. . . . .
`Scalability Issues . . .
`20.2.2
`20.2.3 CORBA Clients for DCOM Servers . . . . .
`.
`
`.
`.
`. .
`
`. .
`. .
`
`.
`.
`
`.
`.
`
`. 20-2
`.
`20-3
`
`.
`.
`. .
`
`.
`.
`
`20-3
`20-3
`
`.
`.
`
`. 20-4
`. 20-5
`
`Locality of the Bridge .
`20.3
`20.4 Extent Definition .
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`.
`.
`.
`.
`. . . . . . . . .
`. . . . .
`20.4.1 Marshaling Constraints .
`20.4.2 Marshaling Key. . .. ..................... ..
`20.4.3 Extent Format . . . . .
`.
`.
`. .
`.
`. . . . . . . . . . . . . . . . .
`.
`20.4.3.1 DVO_EXTENT .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.4.3.2 DVO_1FACE .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.4.3.3 DVO_lMPLDATA .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.4.3.4 DVO'_BLOB .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`20-6
`20-6
`20-7
`20-8
`. 20-8
`20-8
`20-8
`
`20.5 Request/Reply Extent Semantics .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`. .. .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.6 Consistency .
`. . . .
`. . . . . .
`. .
`. . . .
`. . .
`20.6.1
`1ValueObject .
`20.6.2
`[Synchronize and Dlsynchronize . . . .
`20.6.2.1 Mode Property .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.6.2.2 SyncNow Method .
`.
`.
`.
`.
`.
`.
`20.6.2.3 ReCopy Method .
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. 20-8
`
`.
`
`.
`.
`.
`. . .
`.
`. . .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`
`. 20-9
`.
`.
`.
`.
`. . . . . 20-10
`. .
`. .
`. 20-11
`.
`.
`.
`.
`. 20-ll
`.
`.
`.
`.
`. 20-ll
`.
`.
`.
`.
`. 20-11
`
`I
`
`20.7.2
`
`. 20-11
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.7 DCOM Value Objects .
`20.7.1
`Passing Automation Compound Types as DCOM
`Value Objects .
`. .
`.
`. .
`. . .
`.
`. . .
`.
`. . . . . .
`. . .
`. .
`.
`. . . 20-11
`Passing CORBA-Defined Pseudo-Objects as
`DCOM Value Objects . . .
`.
`. .
`.
`.
`. . . . . . . . . . .
`1ForeignObject . . .
`. .
`. . . .
`. . .
`.
`. . . . . . . . .
`. . .
`20.7.3
`20.7.4 DlForeignComp|ex'Iype .
`. . .
`. .
`. . . . . . . .
`. . .
`20.7.5 DlForeignException .
`. .
`. . . . . . . . . . . .
`.
`. .
`. . .
`20.7.6 D1SystemException .
`. . . . . . .
`.
`.
`. . . . . .
`. . . .
`.
`20.7.7 DlCORBAUserException . . .
`.
`.
`. . . . .
`.
`. . . . .
`20.7.8 DlCORBAStruct .
`.
`.
`. .
`.
`.
`. . .
`. . . . . . .
`.
`. . . . .
`20.7.9 DlCORBAUnion .
`.
`.
`. .
`.
`. . . .
`.
`. . . .
`.
`.
`.
`. . . .
`.
`
`. . . 20-12
`. .
`. 20-12
`.
`.
`. 20-12
`. .
`. 20-12
`. .
`. 20-12
`. .
`. 20-13
`. .
`. 20-13
`. . . 20-13
`
`December 2001
`
`Common Object Request Broker Architecture (CORBA), v2.6
`
`xxvii
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 846 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 846 of 1442
`
`
`
`Contents
`
`20.7.10 DICORBATypeCode and ICORBA'IypeCode .
`20.7.11 DICORBAAny .
`.
`. . . . .
`.
`.
`. . . . . .
`. . .
`. . . . . . .
`.
`20.7.12 lCORBAAny . . .
`. . . . .
`. .
`.
`. .
`. . . . . . . . .
`. .
`. .
`.
`20.7.13 User Exceptions In COM . . .
`.
`. . . . . . . .
`. .
`. .
`.
`
`. . 20-13
`.
`. 20-14
`. . 20-15
`.
`. 20-15
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.8 Chain Avoidance .
`‘
`20.8.1 CORBA Chain Avoidance . . .
`20.8.2 COM Chain Avoidance .
`.
`. . .
`
`.
`.
`.
`.
`. . . .
`. . .
`.
`
`.
`
`.
`. .
`. .
`
`.
`.
`. . .
`. . .
`
`.
`
`.
`.
`.
`.
`.
`. .
`. .
`. . . . .
`
`. 20-16
`.
`. . 20-16
`. . 20-17
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`20.9 Chain Bypass .
`20.9.1 CORBA Chain Bypass .
`20.9.2 COM Chain Bypass . . .
`
`.
`
`.
`
`.
`
`.
`.
`. .
`
`.
`.
`.
`.
`.
`. . . . . .
`.
`. .
`. . .
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`. . . . .
`. .
`. .
`.
`. .
`. . ._ .
`. . . .
`
`20.10 Thread Identification .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`
`.
`
`. 20-19
`.
`. . 20-19
`. . 20-20
`
`.
`
`. 20-21
`
`21. Portable Interceptors .
`21.1
`Introduction .
`.
`
`.
`.
`
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`. . 21-1
`.
`. 21-1
`
`21-2
`21-3
`21-4
`21-4
`21-5
`
`.
`.
`.
`.
`.
`. . . . .
`21.1.1 Object Creation .
`. .
`.
`.
`.
`21.1.2 Client Sends Request . .
`. .
`.
`21.1.3
`Server Receives Request .
`. .
`.
`21.1.4
`Server Sends Reply .
`. . . .
`21.1.5 Client Receives Reply . . . . . .
`
`. . .
`. . .
`. .
`.
`. .
`.
`. . .
`
`. . .
`.
`. .
`. . . .
`. .
`. . . . . .
`. . . . . .
`.
`. . . . .
`
`. .
`. .
`. .
`. .
`. .
`. .
`. . . .
`. . . .
`
`21.2
`
`Interceptor Interface .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3 Request Interceptors .
`. .
`. .
`. . . . . . . . .
`. .
`.
`21.3.1 Design Principles . . . . . . .
`. . . .
`. . . . .
`. . .
`.
`. .
`21.3.2 General Flow Rules . . . . . .
`21.3.3 The Flow Stack Visual Model . . .
`. . .
`. . . . . . .
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`
`.
`
`. .
`.
`.
`. .
`. .
`. .
`
`.
`
`. 21-5
`
`. 21-6
`.
`.
`.
`21-6
`.
`.
`. . .
`21-7
`.
`. .
`21-8
`
`. . . . . . . .
`21.3.4 The Request Interceptor Points .
`. . .
`. .
`. .
`.
`21.3.5 Client-Side Interceptor . . . . . . . .
`. . . . . . . .
`21.3.6 Client-Side Interception Points .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.6.1 send_request
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.6.2 send_po11 .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.6.3 receive_reply .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.6.4 receive__exception .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.6.5 receive_other .
`.
`.
`.
`.
`.
`21.3.7 Client-Side Interception Point Flow . . .
`. . .
`.
`21.3.7.1 Client-side Flow Rules
`.
`.
`.
`.
`.
`.
`.
`21.3.7.2 Additional Client-side Details .
`.
`.
`
`. .
`. .
`. .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. .
`.
`.
`.
`.
`
`21-8
`. .
`.
`21-9
`. .
`.
`21-9
`.
`.
`.
`21-9
`.
`.
`.
`21-9
`.
`.
`.
`.
`. 21-10
`.
`.
`. 21-10
`.
`.
`._ 21-11
`.
`. . 21-11
`.
`. .. 21-11
`.
`.
`. 21-12
`
`21.3.8
`21.3.9
`
`. 21-12
`.
`.
`.
`.
`.
`.
`.
`21.3.7.3 Client-side Flow Examples .
`. 21-14
`. . . .
`. .
`Server-Side Interceptor . .
`.
`. .
`. . .
`. . . . . .
`. .
`.
`. . 21-14
`. .
`Server-Side Interception Points .
`.
`. . . .
`.
`21.3.9.1 receive_request_service_contexts .
`.
`.
`.
`. 21-14
`21.3.9.2 receive_request
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-15
`.
`21.3.9.3 send_reply .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. .. 21-15
`21.3.9.4 send_exception .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-16
`21.3.9.5 send_other .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. .. 21-16
`21.3.10 Server-Side Interception Point Flow . . . .
`. . .
`. . . 21-I7
`21.3.10.l Server-side Flow Rules .
`.
`.
`.
`.
`.
`.
`.
`. .. 21-17
`21.3.10.2 Additional Server-side Details
`.
`.
`.
`.
`.
`. 21-17
`
`.
`
`.
`
`.
`.
`21.3.10.3 Server-side Flow Examples .
`21.3.11 Request Information .
`.
`. . .
`.
`.
`.
`. . . . . . . . .
`
`. .. 21-18
`.
`.
`.
`. . . . .
`. 21-20
`
`xxviii
`
`Common Object Request Broker/irchilecture (CORBA), v2.6
`
`December 2001
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 847 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 847 of 1442
`
`
`
`Contents
`
`.
`21.3.12 Requestlnfo Interface .
`21.3.12.1 request_id .
`21.3.12.2 operation .
`.
`2l.3.12.3 arguments
`.
`21.3.12.4 exceptions .
`21.3.l2.5 contexts .
`.
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`. . . . . . . .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`
`21.3.12.6 operation_context
`21.3.12.7 result
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`. . . .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`.
`.
`.
`.
`.
`.
`
`.
`.
`
`. .. 21-21
`.
`.
`. 21-21
`.
`.
`. 21-21
`. .. 21-21
`.
`.
`. 21-22
`.
`.
`. 21-22
`
`. 21-22
`.
`.
`. .. 21-22
`
`.
`.
`.
`.
`.
`
`. 21-23
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.12.8 response_expected .
`. 21-23
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`2l.3.12.9 sync_scope .
`.
`.
`.
`.
`.
`.
`. 21-23
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.12.10reply_status .
`.
`.
`.
`.
`. 21-24
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.3.12.l1 forward_reference .
`. .. 21-24
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`2l.3.l2.l2 get_slot
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-25
`.
`.
`.
`21.3.12.l3 get_request_service_context .
`.
`.
`. 21-25
`.
`.
`.
`21.3.12.14 get_rep1y_service_context .
`.
`.
`. .
`. 21-25
`21.3.13 Clientkequestlnfo Interface . . . . . . .
`. .
`. . . . .
`. ..
`1-27
`.
`21.3.13.1 target
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-27
`.
`2l.3.13.2 effective_target
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-27
`.
`21.3.13.3 effective_profile .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-27
`.
`21.3.13.4 received_exception .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-27
`.
`21.3.13.5 received_exception_id .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-27
`.
`21.3.13.6 get_effective_component
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-28
`.
`21.3.13.7 get_effective__components .
`.
`.
`.
`.
`.
`.
`.
`. 21-28
`.
`21.3.13.8 get_request__po1icy .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 2]-28
`21.3.13.9 add_request_service_context .
`.
`.
`.
`.
`21.3.14 ServerRequestlnfo Interface . . . . . . . .
`.
`. . .
`. . . .
`. 21-29
`.
`.
`21.3.14.1 sending_exception .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-30
`.
`.
`2l.3.14.2 object_id .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-30
`.
`.
`21.3.14.3 adapter_id .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-31
`21.3.l4.4 target_most_derived_interface .
`.
`.
`.
`.
`. 21-31
`21.3.l4.5 get_server_policy .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-31
`2l.3.14.6 set_slot .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. .. 21-31
`21.3.14.7target_is_a .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-31
`21 .3.14.8 add_reply_service_context
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-32
`21.3.15 Forwardkequest Exception . . . . .
`. . . .
`. .
`. . . . .
`. 21-32
`
`.
`
`21.4
`
`.
`.
`Portable Interceptor Current .
`21.4.1 Overview . . . . . .
`. . . .
`
`.
`
`.
`.
`.
`. . . .
`
`.
`
`.
`
`.
`. .
`
`.
`.
`.
`.
`.
`.
`. . . . . . .
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`. . . . .
`
`.
`.
`. .
`
`. 21-33
`. 21-33
`
`. 21-33
`21.4.2 Obtaining the Portable Interceptor Current. . .
`. 21-33
`21.4.3
`Portable Interceptor Current Interface . . .
`. .
`. .
`. 21-34
`21.4.3.1 get_slot .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-34
`21.4.3.2 set_slot .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.4.4 Use of Portable Interceptor Current . .
`.
`. . .
`. . . 21-34
`.
`.
`.
`21.4.4.1 Client-side use of PlCurrent
`.
`.
`.
`.
`.
`. 21-34
`21.4.4.2 Example of P1Current to Handle
`Client-side Recursion .
`.
`.
`.
`.
`.
`.
`.
`21.4.4.3 Server-side use of P1Current
`.
`.
`.
`
`.
`
`.
`.
`
`.
`.
`
`L
`.
`
`.
`.
`
`.
`.
`
`. 21-35
`. 21-36
`
`.
`.
`21.4.4.4 Request Scope vs Thread Scope .
`21.4.4.5 Flow of P1Current between Scopes .
`21.4.4.6 Notes on P1Current and Scopes .
`.
`.
`.
`
`21.5
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`IOR Interceptor .
`21.5.1 Overview . . . . . . . . . .
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. . . . . . . . . . . . . . . . .
`
`.
`.
`. .
`
`21.5.2
`
`. . . .
`. .
`IORInterceptor Interface .
`21.5.2.1 estab1ish_components .
`
`.
`
`.
`
`. .
`.
`
`.
`
`.
`
`.
`
`. . . . .
`.
`.
`.
`.
`.
`
`.
`
`.
`.
`.
`
`.
`.
`
`.
`.
`
`.
`.
`.
`
`. 21-37
`. 21-37
`. 21-39
`
`. .21-39
`.
`. 21-39
`
`.
`.
`
`. 21-39
`. 21-40
`
`December 2001
`
`Common Object Request Broker/frchilecture (CORBA). V2.6
`
`xxix
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 848 of 1442
`
`IPR2016-00726 -ACTIVISION, EA, TAKE-TWO, 2K, ROCKSTAR,
`Ex. 1102, p. 848 of 1442
`
`
`
`Contents
`
`21.5.3
`
`10R1nfo lnterface . . .
`
`. .
`
`. . . . . . .
`
`. . . . . . . . . . . . . 21-40
`
`.
`.
`.
`.
`.
`.
`.
`.
`21.5.3.1 get_effective_po1icy .
`.
`.
`.
`.
`.
`.
`.
`.
`21.5.3.2 add_ior_component .
`.
`21.5.3.3 add_ior_component_to_profl1e .
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`21.6
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`Po1icyFactory .
`21.6.1
`PolicyFactory Interface . . .
`21.6.1.1 create_policy .
`.
`
`.
`
`.
`
`.
`
`.
`.
`. .
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`. . . . . . .
`.
`.
`.
`.
`.
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`. . . . .
`.
`.
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`.
`.
`.
`
`. 21-40
`. 21-41
`. 21-41
`
`. 21-42
`.
`. . 21-42
`.
`. 21-42
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.7 Registering Interceptors .
`21.7.1
`0RB1nitia1izer1nterface . . . . . . .
`
`.
`
`.
`.
`.
`. . . .
`
`.
`. .
`
`.
`
`.
`. .
`
`.
`.
`.
`. . .
`
`.
`.
`
`. 21-42
`. 21-43
`
`.
`.
`.
`.
`21.7.1.1 pre_init .
`.
`.
`.
`21.7.1.2 post_init .
`0RB1nit1nfo lnterface . .
`
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. . . . . . .
`
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. . . . . .
`
`.
`.
`
`. .. 21-43
`.
`.
`.
`.
`. .. 21-43
`.
`.
`.
`.
`. . . . .
`.
`. 21-43
`
`21.7.2
`
`. 21-44
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.7.2.1 Dup1icateNarne Exception .
`. 21-44
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.7.2.2 1nva1idNarne Exception .
`.
`.
`. 21-45
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.7.2.3 arguments
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-45
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.7.2.4 orb_id .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-45
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.7.2.5 codec_factory .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-45
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.7.2.6 register_initia1_reference .
`.
`. .. 21-45
`.
`.
`.
`.
`.
`.
`.
`21.7.2.7 reso1ve_initia1_references .
`.
`.
`. 21-45
`.
`.
`.
`21.7.2.8 add_client_request_interceptor .
`.
`.
`. 21-46
`.
`.
`.
`21.7.2.9 add_server_request_interceptor .
`.
`.
`. 21-46
`.
`.
`.
`21.7.2. 10 add_ior_interceptor .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-46
`.
`.
`.
`21.7.2.11 al1ocate_s1ot_id .
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 21-46
`.
`.
`.
`21.7.2.12 register_po1icy_factory .
`.
`.
`.
`.
`.
`. . .
`.
`. 21-47
`register_orb_initia1izer Operation . . .
`. .
`. .
`21.7.3.1 Mappings of register_orb_initializer .
`.
`. 21-47
`21.7.4 Notes about Registering Interceptors .
`. .
`. .
`. . .
`.
`. 21-49
`
`21.7.3
`
`.
`.
`.
`.
`.
`.
`21.8 Dynamic Initial References .
`21.8.1
`register_initia1_reference .
`
`.
`
`.
`.
`. . .
`
`.
`.
`.
`.
`.
`. . . . . .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`. . . .
`
`.
`
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`21-49
`. . 21-49
`
`.
`
`. 21-50
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`21.9 Module Dynamic .
`21.9.1
`N VList PIDL Represented by
`ParameterList 1DL . . . .
`. . .
`.
`
`.
`
`.
`
`.
`
`. . . . . .
`
`. . . . .
`
`21.9.2 ContextList P1DL Represented by
`ContextList IDL . .
`. . . . . . .
`.
`. .
`. . . . . . . . . .
`
`21.9.3
`
`Exception1..ist 1’1DL Represented by
`ExceptionList 1DL . .
`. . .
`. .
`. . .
`. .
`. . . . . . . .
`21.9.4 Context P1DL Represented by
`RequestContext 1DL . .
`. . . . .
`. . .
`
`. . .
`
`.
`
`. . . .
`
`.
`
`.
`
`. . . . 21-50
`
`.
`
`. . . 21-50
`
`. .
`
`.
`
`. . 21-51
`
`.
`
`.
`
`. .
`
`. . 21-51
`
`.
`
`.
`
`.
`
`. 21-51
`
`21.10 Portable Interceptor IDL .
`
`.
`
`.
`
`. . . .
`. . . . .
`.
`.
`.
`.
`22. CORBA Messaging .
`22.1
`Section 1- Introduction .
`.
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`. . . .
`.
`.
`.
`.
`
`. . . . . . . . . . . . . . . . . 22-1
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`. 22-2
`
`.
`
`.
`
`.
`
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`22.2 Messaging Quality of Service .
`. .
`. . . . . .
`. .
`. .
`.
`. .
`.
`. .
`22.2.1
`Rebind Support .
`.
`. .
`.
`.
`.
`22.2.1.1 typedef short RebindMode .
`.
`.
`.
`.
`22.2.1.2 interface RebindPo1icy .
`.
`.
`.
`.
`Synchronization Scope .
`. .
`.
`.
`.
`. . . .
`. . . . .
`.
`22.2.2.1 typedef short Syncscope .
`.
`.
`.
`.
`.
`22.2.2.2 interface SyncScopePolicy .
`.
`.
`.
`.
`
`22.2.2
`
`.
`
`.
`.
`. .
`.
`.
`.
`.
`. .
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`
`. 22-2
`.
`22-5
`.
`22-5
`.
`22-5
`.
`22-6
`.
`22-6
`.
`2