Previous | Table of Contents | Next |
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}