Previous Table of Contents Next


17.7.6 ICORBAObject2


   ICORBAObject2 is the direct mapping following the COM mapping rules for the CORBA::Object interface.

   17.7.7 IORBObject Interface

   The IORBObject interface provides Automation and COM clients with access to the operations on the ORB pseudo-object.

   The IORBObject is defined as follows:

   typedef struct {unsigned long cbMaxSize;unsigned long cbLengthUsed;[ size_is(cbMaxSize), length_is(cbLengthUsed), unique ]LPSTR *pValue;

   } CORBA_ORBObjectIdList;interface IORBObject : IUnknownHRESULT ObjectToString( [in] IUnknown* obj, [out] LPSTR *val);HRESULT StringToObject[in] LPTSTR ref, [out] IUnknown *val);HRESULT GetInitialReferences([out], CORBA_ORBObjectIdList *val);HRESULT ResolveInitialReference([in] LPTSTR name, [out] IUnknown ** val));}

   The UUID for IORBObject is:

   {204F6245-3AEC-11cf-BBFC-444553540000}

   A reference to this interface is obtained by calling ICORBAFactory::GetObject(?CORBA.ORB.2?).

   The methods of DIORBObject delegate their function to the similarly-named operations on the ORB pseudo-object associated with the IORBObject.

   Automation clients access operations on the ORB via the following Dual Interface:

   interface DIORBObject: IDispatch {HRESULT ObjectToString( [in] IDispatch* obj,

   [out,retval] BSTR *val);HRESULT StringToObject([in] BSTR ref,[out,retval] IDispatch * val);HRESULT GetInitialReferences([out, retval] VARIANT *val);HRESULT ResolveInitialReference ([in] BSTR name,

   [out retval] IDispatch * val);HRESULT GetCORBAObject ([in] IDispatch* obj, [out, retval] DICORBAObject ** val);}

   A reference to this interface is obtained by calling DICORBAFactory::GetObject(“CORBA.ORB.2?).

   This interface is very similar to IORBObject, except for the additional method GetCORBAObject. This method returns an IDispatch pointer to the DICORBAObject interface associated with the parameter Object. This operation is primarily provided to allow Automation controllers (i.e., Automation clients) that cannot invoke QueryInterface on the View object to obtain the ICORBAObject interface.

   The UUID for DIORBObject is: {204F6246-3AEC-11cf-BBFC-444553540000}

   The UUID for DORBObject is: {adff0da0-21f6-11d1-9d47-00a024a73e4f}