6 Appendix A: Full IDL

For convenience, the full IDL is provided with this specification.

 import "ms-oaut.idl";
  
 #ifdef _64BIT
  
 typedef __int64* CCW_PTR;
  
 #else
  
 typedef int* CCW_PTR;
  
 #endif
  
 #define SAFEARRAY(type) SAFEARRAY
  
 [
     object,
     oleautomation,
     uuid(C3FCC19E-A970-11d2-8B5A-00A0C9B7C9C4),
 helpstring("Managed Object Interface"),
     pointer_default(unique)
 ]
 interface IManagedObject : IUnknown
 {
     HRESULT GetSerializedBuffer( [out] BSTR *pBSTR);
  
     HRESULT GetObjectIdentity([out] BSTR* pBSTRGUID, [out] int* AppDomainID, [out] CCW_PTR pCCW);
 };
  
  
 [
 object,
 uuid(6619a740-8154-43be-a186-0319578e02db),
 helpstring("RemoteDispatch Interface"),
 dual,
 pointer_default(unique)
 ]
 interface IRemoteDispatch: IDispatch
 {
 [id(0x60020000)]
 HRESULT RemoteDispatchAutoDone([in] BSTR s, [out, retval] BSTR* pRetVal);
 [id(0x60020001)]
 HRESULT RemoteDispatchNotAutoDone([in] BSTR s, [out, retval] BSTR* pRetVal);
 };
  
  
  
 [
 object,
 uuid(8165B19E-8D3A-4d0b-80C8-97DE310DB583),
 helpstring("ServicedComponentInfo Interface"),
 pointer_default(unique)
 ]
 interface IServicedComponentInfo : IUnknown{
 HRESULT GetComponentInfo([in,out] int* infoMask, [out] SAFEARRAY(BSTR)* infoArray);
 };
  
  
Show: