oleaut32: Add 64-bit proxy/stub code for core COM interfaces

Ge van Geldorp ge at gse.nl
Fri Oct 6 07:50:47 CDT 2006


Changelog:
  Ge van Geldorp <ge at gse.nl>
  - Add 64-bit proxy/stub code for core COM interfaces

diff --git a/dlls/oleaut32/oaidl_p.c b/dlls/oleaut32/oaidl_p.c
index 1102e1c..2f229ee 100644
--- a/dlls/oleaut32/oaidl_p.c
+++ b/dlls/oleaut32/oaidl_p.c
@@ -10,6 +10,9 @@
    Therefore, please do not regenerate this file.
 */
 
+
+#ifndef _WIN64
+
 /* File created by MIDL compiler version 5.01.0164 */
 /* at Tue Jan 07 22:24:52 2003
  */
@@ -13779,3 +13782,14568 @@ const ExtendedProxyFileInfo oaidl_ProxyF
     0, /* Filler2 */
     0  /* Filler3 */
 };
+
+#else /* _WIN64 */
+
+/* this ALWAYS GENERATED file contains the proxy stub code */
+
+
+ /* File created by MIDL compiler version 6.00.0361 */
+/* at Fri Oct 06 11:20:17 2006
+ */
+/* Compiler settings for oaidl.idl:
+    Os, W1, Zp8, env=Win64 (32b run)
+    protocol : dce , ms_ext, c_ext
+    error checks: allocation ref bounds_check enum stub_data 
+    VC __declspec() decoration level: 
+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+         DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/*@@MIDL_FILE_HEADING(  ) */
+
+
+#define USE_STUBLESS_PROXY
+
+
+/* verify that the <rpcproxy.h> version is high enough to compile this file*/
+#ifndef __REDQ_RPCPROXY_H_VERSION__
+#define __REQUIRED_RPCPROXY_H_VERSION__ 450
+#endif
+
+
+#include <stdarg.h>
+
+#define COBJMACROS
+
+#include "windef.h"
+#include "winbase.h"
+#include "objbase.h"
+#include "rpcproxy.h"
+#ifndef __RPCPROXY_H_VERSION__
+#error this stub requires an updated version of <rpcproxy.h>
+#endif /* __RPCPROXY_H_VERSION__ */
+
+
+#include "oaidl.h"
+
+#define TYPE_FORMAT_STRING_SIZE   1873                              
+#define PROC_FORMAT_STRING_SIZE   613                               
+#define TRANSMIT_AS_TABLE_SIZE    0            
+#define WIRE_MARSHAL_TABLE_SIZE   3            
+
+typedef struct _MIDL_TYPE_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
+    } MIDL_TYPE_FORMAT_STRING;
+
+typedef struct _MIDL_PROC_FORMAT_STRING
+    {
+    short          Pad;
+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
+    } MIDL_PROC_FORMAT_STRING;
+
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO IDispatch_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO IDispatch_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfoCount_Proxy( 
+    IDispatch * This,
+    /* [out] */ UINT *pctinfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!pctinfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pctinfo = *( UINT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pctinfo);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IDispatch_GetTypeInfoCount_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    UINT _M0	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT *pctinfo;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pctinfo = 0;
+    RpcTryFinally
+        {
+        pctinfo = &_M0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IDispatch*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeInfoCount((IDispatch *) ((CStdStubBuffer *)This)->pvServerObject,pctinfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( UINT * )_StubMsg.Buffer = *pctinfo;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer++ = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IDispatch_GetTypeInfo_Proxy( 
+    IDispatch * This,
+    /* [in] */ UINT iTInfo,
+    /* [in] */ LCID lcid,
+    /* [out] */ ITypeInfo **ppTInfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTInfo)
+        {
+        MIDL_memset(
+               ppTInfo,
+               0,
+               sizeof( ITypeInfo ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        if(!ppTInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 16;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = iTInfo;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( LCID * )_StubMsg.Buffer = lcid;
+            _StubMsg.Buffer += sizeof(LCID);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[6] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTInfo,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[6],
+                         ( void * )ppTInfo);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IDispatch_GetTypeInfo_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeInfo *_M1;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT iTInfo;
+    LCID lcid;
+    ITypeInfo **ppTInfo;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    iTInfo = 0;
+    lcid = 0;
+    ppTInfo = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[6] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        iTInfo = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lcid = *( LCID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(LCID);
+        
+        ppTInfo = &_M1;
+        _M1 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IDispatch*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeInfo(
+               (IDispatch *) ((CStdStubBuffer *)This)->pvServerObject,
+               iTInfo,
+               lcid,
+               ppTInfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTInfo,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTInfo,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTInfo,
+                        &__MIDL_TypeFormatString.Format[6] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IDispatch_GetIDsOfNames_Proxy( 
+    IDispatch * This,
+    /* [in] */ REFIID riid,
+    /* [size_is][in] */ LPOLESTR *rgszNames,
+    /* [in] */ UINT cNames,
+    /* [in] */ LCID lcid,
+    /* [size_is][out] */ DISPID *rgDispId)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      5);
+        
+        
+        
+        if(!riid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!rgszNames)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!rgDispId)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 84;
+            _StubMsg.MaxCount = ( unsigned long  )cNames;
+            
+            NdrComplexArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char *)rgszNames,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[54] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)riid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            _StubMsg.MaxCount = ( unsigned long  )cNames;
+            
+            NdrComplexArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)rgszNames,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[54] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = cNames;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( LCID * )_StubMsg.Buffer = lcid;
+            _StubMsg.Buffer += sizeof(LCID);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[16] );
+            
+            NdrConformantArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                          (unsigned char * *)&rgDispId,
+                                          (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[76],
+                                          (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _StubMsg.MaxCount = ( unsigned long  )cNames;
+        
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[72],
+                         ( void * )rgDispId);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT cNames;
+    LCID lcid;
+    DISPID *rgDispId;
+    LPOLESTR *rgszNames;
+    IID *riid;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    riid = 0;
+    rgszNames = 0;
+    cNames = 0;
+    lcid = 0;
+    rgDispId = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[16] );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&riid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        NdrComplexArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&rgszNames,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[54],
+                                   (unsigned char)0 );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        cNames = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lcid = *( LCID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(LCID);
+        
+        rgDispId = NdrAllocate(&_StubMsg,cNames * 4);
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IDispatch*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetIDsOfNames(
+                 (IDispatch *) ((CStdStubBuffer *)This)->pvServerObject,
+                 riid,
+                 rgszNames,
+                 cNames,
+                 lcid,
+                 rgDispId);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        _StubMsg.MaxCount = ( unsigned long  )cNames;
+        
+        NdrConformantArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char *)rgDispId,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[76] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.MaxCount = ( unsigned long  )cNames;
+        
+        NdrConformantArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                    (unsigned char *)rgDispId,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[76] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        _StubMsg.MaxCount = ( unsigned long  )cNames;
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)rgszNames,
+                        &__MIDL_TypeFormatString.Format[50] );
+        
+        if ( rgDispId )
+            _StubMsg.pfnFree( rgDispId );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy( 
+    IDispatch * This,
+    /* [in] */ DISPID dispIdMember,
+    /* [in] */ REFIID riid,
+    /* [in] */ LCID lcid,
+    /* [in] */ DWORD dwFlags,
+    /* [in] */ DISPPARAMS *pDispParams,
+    /* [out] */ VARIANT *pVarResult,
+    /* [out] */ EXCEPINFO *pExcepInfo,
+    /* [out] */ UINT *pArgErr,
+    /* [in] */ UINT cVarRef,
+    /* [size_is][in] */ UINT *rgVarRefIdx,
+    /* [size_is][out][in] */ VARIANTARG *rgVarRef)
+{
+ULONG_PTR _RetVal;
+
+_RetVal = NdrClientCall2(
+                  ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                  (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[34],
+                  ( unsigned char * )This,
+                  dispIdMember,
+                  riid,
+                  lcid,
+                  dwFlags,
+                  pDispParams,
+                  pVarResult,
+                  pExcepInfo,
+                  pArgErr,
+                  cVarRef,
+                  rgVarRefIdx,
+                  rgVarRef);
+return ( HRESULT  )_RetVal;
+
+}
+
+void __RPC_API
+IDispatch_RemoteInvoke_Thunk(
+    PMIDL_STUB_MESSAGE pStubMsg )
+{
+#include "pshpack8.h"
+    struct _PARAM_STRUCT
+        {
+        IDispatch *This;
+        DISPID dispIdMember;
+        char Pad0[4];
+        REFIID riid;
+        LCID lcid;
+        char Pad1[4];
+        DWORD dwFlags;
+        char Pad2[4];
+        DISPPARAMS *pDispParams;
+        VARIANT *pVarResult;
+        EXCEPINFO *pExcepInfo;
+        UINT *pArgErr;
+        UINT cVarRef;
+        char Pad3[4];
+        UINT *rgVarRefIdx;
+        VARIANTARG *rgVarRef;
+        HRESULT _RetVal;
+        };
+#include "poppack.h"
+    struct _PARAM_STRUCT * pParamStruct;
+
+    pParamStruct = (struct _PARAM_STRUCT *) pStubMsg->StackTop;
+    
+    /* Call the server */
+    
+    pParamStruct->_RetVal = IDispatch_Invoke_Stub(
+                                (IDispatch *) pParamStruct->This,
+                                pParamStruct->dispIdMember,
+                                pParamStruct->riid,
+                                pParamStruct->lcid,
+                                pParamStruct->dwFlags,
+                                pParamStruct->pDispParams,
+                                pParamStruct->pVarResult,
+                                pParamStruct->pExcepInfo,
+                                pParamStruct->pArgErr,
+                                pParamStruct->cVarRef,
+                                pParamStruct->rgVarRefIdx,
+                                pParamStruct->rgVarRef);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO IEnumVARIANT_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO IEnumVARIANT_ProxyInfo;
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy( 
+    IEnumVARIANT * This,
+    /* [in] */ ULONG celt,
+    /* [length_is][size_is][out] */ VARIANT *rgVar,
+    /* [out] */ ULONG *pCeltFetched)
+{
+ULONG_PTR _RetVal;
+
+_RetVal = NdrClientCall2(
+                  ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                  (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[122],
+                  ( unsigned char * )This,
+                  celt,
+                  rgVar,
+                  pCeltFetched);
+return ( HRESULT  )_RetVal;
+
+}
+
+void __RPC_API
+IEnumVARIANT_RemoteNext_Thunk(
+    PMIDL_STUB_MESSAGE pStubMsg )
+{
+#include "pshpack8.h"
+    struct _PARAM_STRUCT
+        {
+        IEnumVARIANT *This;
+        ULONG celt;
+        char Pad0[4];
+        VARIANT *rgVar;
+        ULONG *pCeltFetched;
+        HRESULT _RetVal;
+        };
+#include "poppack.h"
+    struct _PARAM_STRUCT * pParamStruct;
+
+    pParamStruct = (struct _PARAM_STRUCT *) pStubMsg->StackTop;
+    
+    /* Call the server */
+    
+    pParamStruct->_RetVal = IEnumVARIANT_Next_Stub(
+                                 (IEnumVARIANT *) pParamStruct->This,
+                                 pParamStruct->celt,
+                                 pParamStruct->rgVar,
+                                 pParamStruct->pCeltFetched);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IEnumVARIANT_Skip_Proxy( 
+    IEnumVARIANT * This,
+    /* [in] */ ULONG celt)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( ULONG * )_StubMsg.Buffer = celt;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[162] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IEnumVARIANT_Skip_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ULONG celt;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    celt = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[162] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        celt = *( ULONG * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IEnumVARIANT*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> Skip((IEnumVARIANT *) ((CStdStubBuffer *)This)->pvServerObject,celt);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IEnumVARIANT_Reset_Proxy( 
+    IEnumVARIANT * This)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      5);
+        
+        
+        
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[166] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IEnumVARIANT_Reset_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IEnumVARIANT*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> Reset((IEnumVARIANT *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IEnumVARIANT_Clone_Proxy( 
+    IEnumVARIANT * This,
+    /* [out] */ IEnumVARIANT **ppEnum)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppEnum)
+        {
+        MIDL_memset(
+               ppEnum,
+               0,
+               sizeof( IEnumVARIANT ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      6);
+        
+        
+        
+        if(!ppEnum)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[168] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppEnum,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1158],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1158],
+                         ( void * )ppEnum);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IEnumVARIANT_Clone_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    IEnumVARIANT *_M12;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    IEnumVARIANT **ppEnum;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    ppEnum = 0;
+    RpcTryFinally
+        {
+        ppEnum = &_M12;
+        _M12 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IEnumVARIANT*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> Clone((IEnumVARIANT *) ((CStdStubBuffer *)This)->pvServerObject,ppEnum);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppEnum,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1158] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppEnum,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1158] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppEnum,
+                        &__MIDL_TypeFormatString.Format[1158] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ITypeComp_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ITypeComp_ProxyInfo;
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBind_Proxy( 
+    ITypeComp * This,
+    /* [in] */ LPOLESTR szName,
+    /* [in] */ ULONG lHashVal,
+    /* [in] */ WORD wFlags,
+    /* [out] */ ITypeInfo **ppTInfo,
+    /* [out] */ DESCKIND *pDescKind,
+    /* [out] */ LPFUNCDESC *ppFuncDesc,
+    /* [out] */ LPVARDESC *ppVarDesc,
+    /* [out] */ ITypeComp **ppTypeComp,
+    /* [out] */ CLEANLOCALSTORAGE *pDummy)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTInfo)
+        {
+        MIDL_memset(
+               ppTInfo,
+               0,
+               sizeof( ITypeInfo ** ));
+        }
+    if(ppFuncDesc)
+        {
+        *ppFuncDesc = 0;
+        }
+    if(ppVarDesc)
+        {
+        *ppVarDesc = 0;
+        }
+    if(ppTypeComp)
+        {
+        MIDL_memset(
+               ppTypeComp,
+               0,
+               sizeof( ITypeComp ** ));
+        }
+    if(pDummy)
+        {
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!szName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppTInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pDescKind)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppFuncDesc)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppVarDesc)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppTypeComp)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pDummy)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 14;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)szName,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)szName,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( ULONG * )_StubMsg.Buffer = lHashVal;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+            *( WORD * )_StubMsg.Buffer = wFlags;
+            _StubMsg.Buffer += sizeof(WORD);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[174] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTInfo,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6],
+                                  (unsigned char)0 );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&pDescKind,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184],
+                                  (unsigned char)0 );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppFuncDesc,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1188],
+                                  (unsigned char)0 );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppVarDesc,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1402],
+                                  (unsigned char)0 );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTypeComp,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480],
+                                  (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pDummy,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1508],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[6],
+                         ( void * )ppTInfo);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1184],
+                         ( void * )pDescKind);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1188],
+                         ( void * )ppFuncDesc);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1402],
+                         ( void * )ppVarDesc);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1480],
+                         ( void * )ppTypeComp);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1502],
+                         ( void * )pDummy);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeComp_RemoteBind_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeInfo *_M15;
+    DESCKIND _M16	=	0;
+    LPFUNCDESC _M17;
+    LPVARDESC _M18;
+    ITypeComp *_M19;
+    CLEANLOCALSTORAGE _M20;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ULONG lHashVal;
+    DESCKIND *pDescKind;
+    CLEANLOCALSTORAGE *pDummy;
+    LPFUNCDESC *ppFuncDesc;
+    ITypeInfo **ppTInfo;
+    ITypeComp **ppTypeComp;
+    LPVARDESC *ppVarDesc;
+    LPOLESTR szName;
+    WORD wFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    szName = 0;
+    lHashVal = 0;
+    wFlags = 0;
+    ppTInfo = 0;
+    pDescKind = 0;
+    ppFuncDesc = 0;
+    ppVarDesc = 0;
+    ppTypeComp = 0;
+    pDummy = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[174] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&szName,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lHashVal = *( ULONG * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+        
+        if(_StubMsg.Buffer + 2 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        wFlags = *( WORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(WORD);
+        
+        ppTInfo = &_M15;
+        _M15 = 0;
+        pDescKind = &_M16;
+        ppFuncDesc = &_M17;
+        _M17 = 0;
+        ppVarDesc = &_M18;
+        _M18 = 0;
+        ppTypeComp = &_M19;
+        _M19 = 0;
+        pDummy = &_M20;
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeComp_Bind_Stub(
+                              (ITypeComp *) ((CStdStubBuffer *)This)->pvServerObject,
+                              szName,
+                              lHashVal,
+                              wFlags,
+                              ppTInfo,
+                              pDescKind,
+                              ppFuncDesc,
+                              ppVarDesc,
+                              ppTypeComp,
+                              pDummy);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 64;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTInfo,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppFuncDesc,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1188] );
+        
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppVarDesc,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1402] );
+        
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTypeComp,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTInfo,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)pDescKind,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184] );
+        
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppFuncDesc,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1188] );
+        
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppVarDesc,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1402] );
+        
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTypeComp,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pDummy,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1508] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTInfo,
+                        &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppFuncDesc,
+                        &__MIDL_TypeFormatString.Format[1188] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppVarDesc,
+                        &__MIDL_TypeFormatString.Format[1402] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTypeComp,
+                        &__MIDL_TypeFormatString.Format[1480] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pDummy,
+                        &__MIDL_TypeFormatString.Format[1502] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeComp_RemoteBindType_Proxy( 
+    ITypeComp * This,
+    /* [in] */ LPOLESTR szName,
+    /* [in] */ ULONG lHashVal,
+    /* [out] */ ITypeInfo **ppTInfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTInfo)
+        {
+        MIDL_memset(
+               ppTInfo,
+               0,
+               sizeof( ITypeInfo ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        if(!szName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppTInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)szName,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)szName,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( ULONG * )_StubMsg.Buffer = lHashVal;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[208] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTInfo,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[6],
+                         ( void * )ppTInfo);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeComp_RemoteBindType_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeInfo *_M23;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ULONG lHashVal;
+    ITypeInfo **ppTInfo;
+    LPOLESTR szName;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    szName = 0;
+    lHashVal = 0;
+    ppTInfo = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[208] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&szName,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lHashVal = *( ULONG * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        ppTInfo = &_M23;
+        _M23 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeComp_BindType_Stub(
+                                  (ITypeComp *) ((CStdStubBuffer *)This)->pvServerObject,
+                                  szName,
+                                  lHashVal,
+                                  ppTInfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTInfo,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTInfo,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTInfo,
+                        &__MIDL_TypeFormatString.Format[6] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ITypeInfo_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ITypeInfo_ProxyInfo;
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetTypeAttr_Proxy( 
+    ITypeInfo * This,
+    /* [out] */ LPTYPEATTR *ppTypeAttr,
+    /* [out] */ CLEANLOCALSTORAGE *pDummy)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTypeAttr)
+        {
+        *ppTypeAttr = 0;
+        }
+    if(pDummy)
+        {
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!ppTypeAttr)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pDummy)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[220] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTypeAttr,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1518],
+                                  (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pDummy,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1584],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1518],
+                         ( void * )ppTypeAttr);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1578],
+                         ( void * )pDummy);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteGetTypeAttr_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    LPTYPEATTR _M24;
+    CLEANLOCALSTORAGE _M25;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CLEANLOCALSTORAGE *pDummy;
+    LPTYPEATTR *ppTypeAttr;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    ppTypeAttr = 0;
+    pDummy = 0;
+    RpcTryFinally
+        {
+        ppTypeAttr = &_M24;
+        _M24 = 0;
+        pDummy = &_M25;
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetTypeAttr_Stub(
+                                     (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                     ppTypeAttr,
+                                     pDummy);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTypeAttr,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1518] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTypeAttr,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1518] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pDummy,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1584] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTypeAttr,
+                        &__MIDL_TypeFormatString.Format[1518] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pDummy,
+                        &__MIDL_TypeFormatString.Format[1578] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo_GetTypeComp_Proxy( 
+    ITypeInfo * This,
+    /* [out] */ ITypeComp **ppTComp)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTComp)
+        {
+        MIDL_memset(
+               ppTComp,
+               0,
+               sizeof( ITypeComp ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        if(!ppTComp)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[230] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTComp,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1480],
+                         ( void * )ppTComp);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_GetTypeComp_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeComp *_M26;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ITypeComp **ppTComp;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    ppTComp = 0;
+    RpcTryFinally
+        {
+        ppTComp = &_M26;
+        _M26 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeComp((ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,ppTComp);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTComp,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTComp,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTComp,
+                        &__MIDL_TypeFormatString.Format[1480] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetFuncDesc_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ UINT index,
+    /* [out] */ LPFUNCDESC *ppFuncDesc,
+    /* [out] */ CLEANLOCALSTORAGE *pDummy)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppFuncDesc)
+        {
+        *ppFuncDesc = 0;
+        }
+    if(pDummy)
+        {
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      5);
+        
+        
+        
+        if(!ppFuncDesc)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pDummy)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[236] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppFuncDesc,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1188],
+                                  (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pDummy,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1600],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1188],
+                         ( void * )ppFuncDesc);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1594],
+                         ( void * )pDummy);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteGetFuncDesc_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    LPFUNCDESC _M27;
+    CLEANLOCALSTORAGE _M28;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT index;
+    CLEANLOCALSTORAGE *pDummy;
+    LPFUNCDESC *ppFuncDesc;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    ppFuncDesc = 0;
+    pDummy = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[236] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        ppFuncDesc = &_M27;
+        _M27 = 0;
+        pDummy = &_M28;
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetFuncDesc_Stub(
+                                     (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                     index,
+                                     ppFuncDesc,
+                                     pDummy);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppFuncDesc,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1188] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppFuncDesc,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1188] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pDummy,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1600] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppFuncDesc,
+                        &__MIDL_TypeFormatString.Format[1188] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pDummy,
+                        &__MIDL_TypeFormatString.Format[1594] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetVarDesc_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ UINT index,
+    /* [out] */ LPVARDESC *ppVarDesc,
+    /* [out] */ CLEANLOCALSTORAGE *pDummy)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppVarDesc)
+        {
+        *ppVarDesc = 0;
+        }
+    if(pDummy)
+        {
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      6);
+        
+        
+        
+        if(!ppVarDesc)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pDummy)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[248] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppVarDesc,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1402],
+                                  (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pDummy,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1616],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1402],
+                         ( void * )ppVarDesc);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1610],
+                         ( void * )pDummy);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteGetVarDesc_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    LPVARDESC _M29;
+    CLEANLOCALSTORAGE _M30;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT index;
+    CLEANLOCALSTORAGE *pDummy;
+    LPVARDESC *ppVarDesc;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    ppVarDesc = 0;
+    pDummy = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[248] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        ppVarDesc = &_M29;
+        _M29 = 0;
+        pDummy = &_M30;
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetVarDesc_Stub(
+                                    (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                    index,
+                                    ppVarDesc,
+                                    pDummy);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppVarDesc,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1402] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppVarDesc,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1402] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pDummy,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1616] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppVarDesc,
+                        &__MIDL_TypeFormatString.Format[1402] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pDummy,
+                        &__MIDL_TypeFormatString.Format[1610] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetNames_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ MEMBERID memid,
+    /* [length_is][size_is][out] */ BSTR *rgBstrNames,
+    /* [in] */ UINT cMaxNames,
+    /* [out] */ UINT *pcNames)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(rgBstrNames)
+        {
+        MIDL_memset(
+               rgBstrNames,
+               0,
+               cMaxNames * sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      7);
+        
+        
+        
+        if(!rgBstrNames)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pcNames)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 16;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( MEMBERID * )_StubMsg.Buffer = memid;
+            _StubMsg.Buffer += sizeof(MEMBERID);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = cMaxNames;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[260] );
+            
+            NdrComplexArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&rgBstrNames,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1630],
+                                       (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pcNames = *( UINT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _StubMsg.MaxCount = ( unsigned long  )cMaxNames;
+        _StubMsg.Offset = 0;
+        _StubMsg.ActualCount = (unsigned long) _StubMsg.MaxCount;
+        
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1626],
+                         ( void * )rgBstrNames);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pcNames);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteGetNames_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    UINT _M34	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT cMaxNames;
+    MEMBERID memid;
+    UINT *pcNames;
+    BSTR *rgBstrNames;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    memid = 0;
+    rgBstrNames = 0;
+    cMaxNames = 0;
+    pcNames = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[260] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        memid = *( MEMBERID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(MEMBERID);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        cMaxNames = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        rgBstrNames = NdrAllocate(&_StubMsg,cMaxNames * 8);
+        pcNames = &_M34;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetNames_Stub(
+                                  (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                  memid,
+                                  rgBstrNames,
+                                  cMaxNames,
+                                  pcNames);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        _StubMsg.MaxCount = ( unsigned long  )cMaxNames;
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcNames ? *pcNames : 0);
+        
+        NdrComplexArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char *)rgBstrNames,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1630] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.MaxCount = ( unsigned long  )cMaxNames;
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcNames ? *pcNames : 0);
+        
+        NdrComplexArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                 (unsigned char *)rgBstrNames,
+                                 (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1630] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( UINT * )_StubMsg.Buffer = *pcNames;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        _StubMsg.MaxCount = ( unsigned long  )cMaxNames;
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcNames ? *pcNames : 0);
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)rgBstrNames,
+                        &__MIDL_TypeFormatString.Format[1626] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeOfImplType_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ UINT index,
+    /* [out] */ HREFTYPE *pRefType)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      8);
+        
+        
+        
+        if(!pRefType)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[274] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pRefType = *( HREFTYPE * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HREFTYPE);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pRefType);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_GetRefTypeOfImplType_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HREFTYPE _M35	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT index;
+    HREFTYPE *pRefType;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    pRefType = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[274] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        pRefType = &_M35;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetRefTypeOfImplType(
+                        (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                        index,
+                        pRefType);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HREFTYPE * )_StubMsg.Buffer = *pRefType;
+        _StubMsg.Buffer += sizeof(HREFTYPE);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo_GetImplTypeFlags_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ UINT index,
+    /* [out] */ INT *pImplTypeFlags)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      9);
+        
+        
+        
+        if(!pImplTypeFlags)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[274] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pImplTypeFlags = *( INT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(INT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pImplTypeFlags);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_GetImplTypeFlags_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    INT _M36	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT index;
+    INT *pImplTypeFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    pImplTypeFlags = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[274] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        pImplTypeFlags = &_M36;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetImplTypeFlags(
+                    (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                    index,
+                    pImplTypeFlags);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( INT * )_StubMsg.Buffer = *pImplTypeFlags;
+        _StubMsg.Buffer += sizeof(INT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+void __RPC_STUB ITypeInfo_LocalGetIDsOfNames_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetIDsOfNames_Stub((ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+void __RPC_STUB ITypeInfo_LocalInvoke_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_Invoke_Stub((ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDocumentation_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ MEMBERID memid,
+    /* [in] */ DWORD refPtrFlags,
+    /* [out] */ BSTR *pBstrName,
+    /* [out] */ BSTR *pBstrDocString,
+    /* [out] */ DWORD *pdwHelpContext,
+    /* [out] */ BSTR *pBstrHelpFile)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrName)
+        {
+        MIDL_memset(
+               pBstrName,
+               0,
+               sizeof( BSTR  ));
+        }
+    if(pBstrDocString)
+        {
+        MIDL_memset(
+               pBstrDocString,
+               0,
+               sizeof( BSTR  ));
+        }
+    if(pBstrHelpFile)
+        {
+        MIDL_memset(
+               pBstrHelpFile,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      12);
+        
+        
+        
+        if(!pBstrName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pBstrDocString)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pdwHelpContext)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pBstrHelpFile)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 16;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( MEMBERID * )_StubMsg.Buffer = memid;
+            _StubMsg.Buffer += sizeof(MEMBERID);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( DWORD * )_StubMsg.Buffer = refPtrFlags;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[282] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrName,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrDocString,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pdwHelpContext = *( DWORD * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrHelpFile,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrName);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrDocString);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pdwHelpContext);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrHelpFile);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteGetDocumentation_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M37;
+    BSTR _M38;
+    DWORD _M39	=	0;
+    BSTR _M40;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    MEMBERID memid;
+    BSTR *pBstrDocString;
+    BSTR *pBstrHelpFile;
+    BSTR *pBstrName;
+    DWORD *pdwHelpContext;
+    DWORD refPtrFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    memid = 0;
+    refPtrFlags = 0;
+    pBstrName = 0;
+    pBstrDocString = 0;
+    pdwHelpContext = 0;
+    pBstrHelpFile = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[282] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        memid = *( MEMBERID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(MEMBERID);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        refPtrFlags = *( DWORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        pBstrName = &_M37;
+        MIDL_memset(
+               pBstrName,
+               0,
+               sizeof( BSTR  ));
+        pBstrDocString = &_M38;
+        MIDL_memset(
+               pBstrDocString,
+               0,
+               sizeof( BSTR  ));
+        pdwHelpContext = &_M39;
+        pBstrHelpFile = &_M40;
+        MIDL_memset(
+               pBstrHelpFile,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetDocumentation_Stub(
+                                          (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                          memid,
+                                          refPtrFlags,
+                                          pBstrName,
+                                          pBstrDocString,
+                                          pdwHelpContext,
+                                          pBstrHelpFile);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrName,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrDocString,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrHelpFile,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrName,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrDocString,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( DWORD * )_StubMsg.Buffer = *pdwHelpContext;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrHelpFile,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrName,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrDocString,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrHelpFile,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetDllEntry_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ MEMBERID memid,
+    /* [in] */ INVOKEKIND invKind,
+    /* [in] */ DWORD refPtrFlags,
+    /* [out] */ BSTR *pBstrDllName,
+    /* [out] */ BSTR *pBstrName,
+    /* [out] */ WORD *pwOrdinal)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrDllName)
+        {
+        MIDL_memset(
+               pBstrDllName,
+               0,
+               sizeof( BSTR  ));
+        }
+    if(pBstrName)
+        {
+        MIDL_memset(
+               pBstrName,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      13);
+        
+        
+        
+        if(!pBstrDllName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pBstrName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pwOrdinal)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 24;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( MEMBERID * )_StubMsg.Buffer = memid;
+            _StubMsg.Buffer += sizeof(MEMBERID);
+            
+            NdrSimpleTypeMarshall(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( unsigned char * )&invKind,
+                         14);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( DWORD * )_StubMsg.Buffer = refPtrFlags;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[304] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrDllName,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrName,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+            *pwOrdinal = *( WORD * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(WORD);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrDllName);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrName);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1652],
+                         ( void * )pwOrdinal);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteGetDllEntry_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M41;
+    BSTR _M42;
+    WORD _M43	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    INVOKEKIND invKind;
+    MEMBERID memid;
+    BSTR *pBstrDllName;
+    BSTR *pBstrName;
+    WORD *pwOrdinal;
+    DWORD refPtrFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    memid = 0;
+    invKind = 0;
+    refPtrFlags = 0;
+    pBstrDllName = 0;
+    pBstrName = 0;
+    pwOrdinal = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[304] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        memid = *( MEMBERID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(MEMBERID);
+        
+        NdrSimpleTypeUnmarshall(
+                           ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                           ( unsigned char * )&invKind,
+                           14);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        refPtrFlags = *( DWORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        pBstrDllName = &_M41;
+        MIDL_memset(
+               pBstrDllName,
+               0,
+               sizeof( BSTR  ));
+        pBstrName = &_M42;
+        MIDL_memset(
+               pBstrName,
+               0,
+               sizeof( BSTR  ));
+        pwOrdinal = &_M43;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetDllEntry_Stub(
+                                     (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                     memid,
+                                     invKind,
+                                     refPtrFlags,
+                                     pBstrDllName,
+                                     pBstrName,
+                                     pwOrdinal);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 34;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrDllName,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrName,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrDllName,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrName,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+        *( WORD * )_StubMsg.Buffer = *pwOrdinal;
+        _StubMsg.Buffer += sizeof(WORD);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrDllName,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrName,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo_GetRefTypeInfo_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ HREFTYPE hRefType,
+    /* [out] */ ITypeInfo **ppTInfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTInfo)
+        {
+        MIDL_memset(
+               ppTInfo,
+               0,
+               sizeof( ITypeInfo ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      14);
+        
+        
+        
+        if(!ppTInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( HREFTYPE * )_StubMsg.Buffer = hRefType;
+            _StubMsg.Buffer += sizeof(HREFTYPE);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[324] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTInfo,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[6],
+                         ( void * )ppTInfo);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_GetRefTypeInfo_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeInfo *_M44;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    HREFTYPE hRefType;
+    ITypeInfo **ppTInfo;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    hRefType = 0;
+    ppTInfo = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[324] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        hRefType = *( HREFTYPE * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(HREFTYPE);
+        
+        ppTInfo = &_M44;
+        _M44 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetRefTypeInfo(
+                  (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                  hRefType,
+                  ppTInfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTInfo,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTInfo,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTInfo,
+                        &__MIDL_TypeFormatString.Format[6] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+void __RPC_STUB ITypeInfo_LocalAddressOfMember_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_AddressOfMember_Stub((ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteCreateInstance_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ REFIID riid,
+    /* [iid_is][out] */ IUnknown **ppvObj)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppvObj)
+        {
+        MIDL_memset(
+               ppvObj,
+               0,
+               sizeof( IUnknown ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      16);
+        
+        
+        
+        if(!riid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppvObj)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 68;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)riid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[332] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppvObj,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1656],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1656],
+                         ( void * )ppvObj);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteCreateInstance_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    IUnknown **_M45;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    IUnknown **ppvObj;
+    IID *riid;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    riid = 0;
+    ppvObj = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[332] );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&riid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        ppvObj = (void *)&_M45;
+        _M45 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_CreateInstance_Stub(
+                                        (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                        riid,
+                                        ppvObj);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppvObj,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1656] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppvObj,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1656] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppvObj,
+                        &__MIDL_TypeFormatString.Format[1656] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo_GetMops_Proxy( 
+    ITypeInfo * This,
+    /* [in] */ MEMBERID memid,
+    /* [out] */ BSTR *pBstrMops)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrMops)
+        {
+        MIDL_memset(
+               pBstrMops,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      17);
+        
+        
+        
+        if(!pBstrMops)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( MEMBERID * )_StubMsg.Buffer = memid;
+            _StubMsg.Buffer += sizeof(MEMBERID);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[342] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrMops,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrMops);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_GetMops_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M46;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    MEMBERID memid;
+    BSTR *pBstrMops;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    memid = 0;
+    pBstrMops = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[342] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        memid = *( MEMBERID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(MEMBERID);
+        
+        pBstrMops = &_M46;
+        MIDL_memset(
+               pBstrMops,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetMops(
+           (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+           memid,
+           pBstrMops);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrMops,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrMops,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrMops,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo_RemoteGetContainingTypeLib_Proxy( 
+    ITypeInfo * This,
+    /* [out] */ ITypeLib **ppTLib,
+    /* [out] */ UINT *pIndex)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTLib)
+        {
+        MIDL_memset(
+               ppTLib,
+               0,
+               sizeof( ITypeLib ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      18);
+        
+        
+        
+        if(!ppTLib)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pIndex)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[350] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTLib,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1666],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pIndex = *( UINT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1666],
+                         ( void * )ppTLib);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pIndex);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo_RemoteGetContainingTypeLib_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeLib *_M47;
+    UINT _M48	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT *pIndex;
+    ITypeLib **ppTLib;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    ppTLib = 0;
+    pIndex = 0;
+    RpcTryFinally
+        {
+        ppTLib = &_M47;
+        _M47 = 0;
+        pIndex = &_M48;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_GetContainingTypeLib_Stub(
+                                              (ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject,
+                                              ppTLib,
+                                              pIndex);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTLib,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1666] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTLib,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1666] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( UINT * )_StubMsg.Buffer = *pIndex;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTLib,
+                        &__MIDL_TypeFormatString.Format[1666] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+void __RPC_STUB ITypeInfo_LocalReleaseTypeAttr_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_ReleaseTypeAttr_Stub((ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+void __RPC_STUB ITypeInfo_LocalReleaseFuncDesc_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_ReleaseFuncDesc_Stub((ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+void __RPC_STUB ITypeInfo_LocalReleaseVarDesc_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo_ReleaseVarDesc_Stub((ITypeInfo *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ITypeInfo2_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ITypeInfo2_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeKind_Proxy( 
+    ITypeInfo2 * This,
+    /* [out] */ TYPEKIND *pTypeKind)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      22);
+        
+        
+        
+        if(!pTypeKind)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[360] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&pTypeKind,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1184],
+                         ( void * )pTypeKind);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetTypeKind_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    TYPEKIND _M49	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    TYPEKIND *pTypeKind;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pTypeKind = 0;
+    RpcTryFinally
+        {
+        pTypeKind = &_M49;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeKind((ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,pTypeKind);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)pTypeKind,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetTypeFlags_Proxy( 
+    ITypeInfo2 * This,
+    /* [out] */ ULONG *pTypeFlags)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      23);
+        
+        
+        
+        if(!pTypeFlags)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pTypeFlags = *( ULONG * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pTypeFlags);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetTypeFlags_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ULONG _M50	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ULONG *pTypeFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pTypeFlags = 0;
+    RpcTryFinally
+        {
+        pTypeFlags = &_M50;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeFlags((ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,pTypeFlags);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( ULONG * )_StubMsg.Buffer = *pTypeFlags;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncIndexOfMemId_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ MEMBERID memid,
+    /* [in] */ INVOKEKIND invKind,
+    /* [out] */ UINT *pFuncIndex)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      24);
+        
+        
+        
+        if(!pFuncIndex)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 16;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( MEMBERID * )_StubMsg.Buffer = memid;
+            _StubMsg.Buffer += sizeof(MEMBERID);
+            
+            NdrSimpleTypeMarshall(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( unsigned char * )&invKind,
+                         14);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[366] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pFuncIndex = *( UINT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pFuncIndex);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetFuncIndexOfMemId_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    UINT _M51	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    INVOKEKIND invKind;
+    MEMBERID memid;
+    UINT *pFuncIndex;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    memid = 0;
+    invKind = 0;
+    pFuncIndex = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[366] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        memid = *( MEMBERID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(MEMBERID);
+        
+        NdrSimpleTypeUnmarshall(
+                           ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                           ( unsigned char * )&invKind,
+                           14);
+        pFuncIndex = &_M51;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetFuncIndexOfMemId(
+                       (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                       memid,
+                       invKind,
+                       pFuncIndex);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( UINT * )_StubMsg.Buffer = *pFuncIndex;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarIndexOfMemId_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ MEMBERID memid,
+    /* [out] */ UINT *pVarIndex)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      25);
+        
+        
+        
+        if(!pVarIndex)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( MEMBERID * )_StubMsg.Buffer = memid;
+            _StubMsg.Buffer += sizeof(MEMBERID);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[274] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pVarIndex = *( UINT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pVarIndex);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetVarIndexOfMemId_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    UINT _M52	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    MEMBERID memid;
+    UINT *pVarIndex;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    memid = 0;
+    pVarIndex = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[274] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        memid = *( MEMBERID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(MEMBERID);
+        
+        pVarIndex = &_M52;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetVarIndexOfMemId(
+                      (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                      memid,
+                      pVarIndex);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( UINT * )_StubMsg.Buffer = *pVarIndex;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ REFGUID guid,
+    /* [out] */ VARIANT *pVarVal)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pVarVal)
+        {
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      26);
+        
+        
+        
+        if(!guid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVarVal)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 68;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)guid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[376] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pVarVal,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1036],
+                         ( void * )pVarVal);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    VARIANT _M53;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *guid;
+    VARIANT *pVarVal;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    guid = 0;
+    pVarVal = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[376] );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&guid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        pVarVal = &_M53;
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetCustData(
+               (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+               guid,
+               pVarVal);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pVarVal,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pVarVal,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVarVal,
+                        &__MIDL_TypeFormatString.Format[1036] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetFuncCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT index,
+    /* [in] */ REFGUID guid,
+    /* [out] */ VARIANT *pVarVal)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pVarVal)
+        {
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      27);
+        
+        
+        
+        if(!guid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVarVal)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 76;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)guid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[386] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pVarVal,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1036],
+                         ( void * )pVarVal);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetFuncCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    VARIANT _M54;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *guid;
+    UINT index;
+    VARIANT *pVarVal;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    guid = 0;
+    pVarVal = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[386] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&guid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        pVarVal = &_M54;
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetFuncCustData(
+                   (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                   index,
+                   guid,
+                   pVarVal);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pVarVal,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pVarVal,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVarVal,
+                        &__MIDL_TypeFormatString.Format[1036] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetParamCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT indexFunc,
+    /* [in] */ UINT indexParam,
+    /* [in] */ REFGUID guid,
+    /* [out] */ VARIANT *pVarVal)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pVarVal)
+        {
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      28);
+        
+        
+        
+        if(!guid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVarVal)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 84;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = indexFunc;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = indexParam;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)guid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[398] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pVarVal,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1036],
+                         ( void * )pVarVal);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetParamCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    VARIANT _M55;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *guid;
+    UINT indexFunc;
+    UINT indexParam;
+    VARIANT *pVarVal;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    indexFunc = 0;
+    indexParam = 0;
+    guid = 0;
+    pVarVal = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[398] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        indexFunc = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        indexParam = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&guid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        pVarVal = &_M55;
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetParamCustData(
+                    (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                    indexFunc,
+                    indexParam,
+                    guid,
+                    pVarVal);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pVarVal,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pVarVal,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVarVal,
+                        &__MIDL_TypeFormatString.Format[1036] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetVarCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT index,
+    /* [in] */ REFGUID guid,
+    /* [out] */ VARIANT *pVarVal)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pVarVal)
+        {
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      29);
+        
+        
+        
+        if(!guid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVarVal)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 76;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)guid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[386] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pVarVal,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1036],
+                         ( void * )pVarVal);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetVarCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    VARIANT _M56;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *guid;
+    UINT index;
+    VARIANT *pVarVal;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    guid = 0;
+    pVarVal = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[386] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&guid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        pVarVal = &_M56;
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetVarCustData(
+                  (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                  index,
+                  guid,
+                  pVarVal);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pVarVal,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pVarVal,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVarVal,
+                        &__MIDL_TypeFormatString.Format[1036] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetImplTypeCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT index,
+    /* [in] */ REFGUID guid,
+    /* [out] */ VARIANT *pVarVal)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pVarVal)
+        {
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      30);
+        
+        
+        
+        if(!guid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVarVal)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 76;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)guid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[386] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pVarVal,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1036],
+                         ( void * )pVarVal);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetImplTypeCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    VARIANT _M57;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *guid;
+    UINT index;
+    VARIANT *pVarVal;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    guid = 0;
+    pVarVal = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[386] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&guid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        pVarVal = &_M57;
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetImplTypeCustData(
+                       (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                       index,
+                       guid,
+                       pVarVal);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pVarVal,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pVarVal,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVarVal,
+                        &__MIDL_TypeFormatString.Format[1036] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeInfo2_RemoteGetDocumentation2_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ MEMBERID memid,
+    /* [in] */ LCID lcid,
+    /* [in] */ DWORD refPtrFlags,
+    /* [out] */ BSTR *pbstrHelpString,
+    /* [out] */ DWORD *pdwHelpStringContext,
+    /* [out] */ BSTR *pbstrHelpStringDll)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pbstrHelpString)
+        {
+        MIDL_memset(
+               pbstrHelpString,
+               0,
+               sizeof( BSTR  ));
+        }
+    if(pbstrHelpStringDll)
+        {
+        MIDL_memset(
+               pbstrHelpStringDll,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      31);
+        
+        
+        
+        if(!pbstrHelpString)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pdwHelpStringContext)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pbstrHelpStringDll)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 24;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( MEMBERID * )_StubMsg.Buffer = memid;
+            _StubMsg.Buffer += sizeof(MEMBERID);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( LCID * )_StubMsg.Buffer = lcid;
+            _StubMsg.Buffer += sizeof(LCID);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( DWORD * )_StubMsg.Buffer = refPtrFlags;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[412] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pbstrHelpString,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pdwHelpStringContext = *( DWORD * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pbstrHelpStringDll,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pbstrHelpString);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pdwHelpStringContext);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pbstrHelpStringDll);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_RemoteGetDocumentation2_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M58;
+    DWORD _M59	=	0;
+    BSTR _M60;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    LCID lcid;
+    MEMBERID memid;
+    BSTR *pbstrHelpString;
+    BSTR *pbstrHelpStringDll;
+    DWORD *pdwHelpStringContext;
+    DWORD refPtrFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    memid = 0;
+    lcid = 0;
+    refPtrFlags = 0;
+    pbstrHelpString = 0;
+    pdwHelpStringContext = 0;
+    pbstrHelpStringDll = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[412] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        memid = *( MEMBERID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(MEMBERID);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lcid = *( LCID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(LCID);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        refPtrFlags = *( DWORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        pbstrHelpString = &_M58;
+        MIDL_memset(
+               pbstrHelpString,
+               0,
+               sizeof( BSTR  ));
+        pdwHelpStringContext = &_M59;
+        pbstrHelpStringDll = &_M60;
+        MIDL_memset(
+               pbstrHelpStringDll,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeInfo2_GetDocumentation2_Stub(
+                                            (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                                            memid,
+                                            lcid,
+                                            refPtrFlags,
+                                            pbstrHelpString,
+                                            pdwHelpStringContext,
+                                            pbstrHelpStringDll);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pbstrHelpString,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pbstrHelpStringDll,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pbstrHelpString,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( DWORD * )_StubMsg.Buffer = *pdwHelpStringContext;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pbstrHelpStringDll,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pbstrHelpString,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pbstrHelpStringDll,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [out] */ CUSTDATA *pCustData)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pCustData)
+        {
+        MIDL_memset(
+               pCustData,
+               0,
+               sizeof( CUSTDATA  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      32);
+        
+        
+        
+        if(!pCustData)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[432] );
+            
+            NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                        (unsigned char * *)&pCustData,
+                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728],
+                                        (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1688],
+                         ( void * )pCustData);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetAllCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CUSTDATA _pCustDataM;
+    CUSTDATA *pCustData;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pCustData = 0;
+    RpcTryFinally
+        {
+        pCustData = &_pCustDataM;
+        pCustData -> prgCustData = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetAllCustData((ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,pCustData);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                    (unsigned char *)pCustData,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                  (unsigned char *)pCustData,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pCustData,
+                        &__MIDL_TypeFormatString.Format[1688] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllFuncCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT index,
+    /* [out] */ CUSTDATA *pCustData)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pCustData)
+        {
+        MIDL_memset(
+               pCustData,
+               0,
+               sizeof( CUSTDATA  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      33);
+        
+        
+        
+        if(!pCustData)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[438] );
+            
+            NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                        (unsigned char * *)&pCustData,
+                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728],
+                                        (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1688],
+                         ( void * )pCustData);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetAllFuncCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CUSTDATA _pCustDataM;
+    UINT index;
+    CUSTDATA *pCustData;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    pCustData = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[438] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        pCustData = &_pCustDataM;
+        pCustData -> prgCustData = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetAllFuncCustData(
+                      (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                      index,
+                      pCustData);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                    (unsigned char *)pCustData,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                  (unsigned char *)pCustData,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pCustData,
+                        &__MIDL_TypeFormatString.Format[1688] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllParamCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT indexFunc,
+    /* [in] */ UINT indexParam,
+    /* [out] */ CUSTDATA *pCustData)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pCustData)
+        {
+        MIDL_memset(
+               pCustData,
+               0,
+               sizeof( CUSTDATA  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      34);
+        
+        
+        
+        if(!pCustData)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 16;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = indexFunc;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = indexParam;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[446] );
+            
+            NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                        (unsigned char * *)&pCustData,
+                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728],
+                                        (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1688],
+                         ( void * )pCustData);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetAllParamCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CUSTDATA _pCustDataM;
+    UINT indexFunc;
+    UINT indexParam;
+    CUSTDATA *pCustData;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    indexFunc = 0;
+    indexParam = 0;
+    pCustData = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[446] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        indexFunc = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        indexParam = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        pCustData = &_pCustDataM;
+        pCustData -> prgCustData = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetAllParamCustData(
+                       (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                       indexFunc,
+                       indexParam,
+                       pCustData);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                    (unsigned char *)pCustData,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                  (unsigned char *)pCustData,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pCustData,
+                        &__MIDL_TypeFormatString.Format[1688] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllVarCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT index,
+    /* [out] */ CUSTDATA *pCustData)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pCustData)
+        {
+        MIDL_memset(
+               pCustData,
+               0,
+               sizeof( CUSTDATA  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      35);
+        
+        
+        
+        if(!pCustData)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[438] );
+            
+            NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                        (unsigned char * *)&pCustData,
+                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728],
+                                        (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1688],
+                         ( void * )pCustData);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetAllVarCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CUSTDATA _pCustDataM;
+    UINT index;
+    CUSTDATA *pCustData;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    pCustData = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[438] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        pCustData = &_pCustDataM;
+        pCustData -> prgCustData = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetAllVarCustData(
+                     (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                     index,
+                     pCustData);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                    (unsigned char *)pCustData,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                  (unsigned char *)pCustData,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pCustData,
+                        &__MIDL_TypeFormatString.Format[1688] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeInfo2_GetAllImplTypeCustData_Proxy( 
+    ITypeInfo2 * This,
+    /* [in] */ UINT index,
+    /* [out] */ CUSTDATA *pCustData)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pCustData)
+        {
+        MIDL_memset(
+               pCustData,
+               0,
+               sizeof( CUSTDATA  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      36);
+        
+        
+        
+        if(!pCustData)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[438] );
+            
+            NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                        (unsigned char * *)&pCustData,
+                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728],
+                                        (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1688],
+                         ( void * )pCustData);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeInfo2_GetAllImplTypeCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CUSTDATA _pCustDataM;
+    UINT index;
+    CUSTDATA *pCustData;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    pCustData = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[438] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        pCustData = &_pCustDataM;
+        pCustData -> prgCustData = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeInfo2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetAllImplTypeCustData(
+                          (ITypeInfo2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                          index,
+                          pCustData);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                    (unsigned char *)pCustData,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                  (unsigned char *)pCustData,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pCustData,
+                        &__MIDL_TypeFormatString.Format[1688] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ITypeLib_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ITypeLib_ProxyInfo;
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetTypeInfoCount_Proxy( 
+    ITypeLib * This,
+    /* [out] */ UINT *pcTInfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!pcTInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pcTInfo = *( UINT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pcTInfo);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_RemoteGetTypeInfoCount_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    UINT _M61	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT *pcTInfo;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pcTInfo = 0;
+    RpcTryFinally
+        {
+        pcTInfo = &_M61;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib_GetTypeInfoCount_Stub((ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,pcTInfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( UINT * )_StubMsg.Buffer = *pcTInfo;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfo_Proxy( 
+    ITypeLib * This,
+    /* [in] */ UINT index,
+    /* [out] */ ITypeInfo **ppTInfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTInfo)
+        {
+        MIDL_memset(
+               ppTInfo,
+               0,
+               sizeof( ITypeInfo ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        if(!ppTInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[324] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTInfo,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[6],
+                         ( void * )ppTInfo);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_GetTypeInfo_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeInfo *_M62;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT index;
+    ITypeInfo **ppTInfo;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    ppTInfo = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[324] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        ppTInfo = &_M62;
+        _M62 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeLib*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeInfo(
+               (ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,
+               index,
+               ppTInfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTInfo,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTInfo,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTInfo,
+                        &__MIDL_TypeFormatString.Format[6] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoType_Proxy( 
+    ITypeLib * This,
+    /* [in] */ UINT index,
+    /* [out] */ TYPEKIND *pTKind)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      5);
+        
+        
+        
+        if(!pTKind)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( UINT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(UINT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[456] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&pTKind,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1184],
+                         ( void * )pTKind);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_GetTypeInfoType_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    TYPEKIND _M63	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    UINT index;
+    TYPEKIND *pTKind;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    pTKind = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[456] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( UINT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(UINT);
+        
+        pTKind = &_M63;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeLib*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeInfoType(
+                   (ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,
+                   index,
+                   pTKind);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)pTKind,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeInfoOfGuid_Proxy( 
+    ITypeLib * This,
+    /* [in] */ REFGUID guid,
+    /* [out] */ ITypeInfo **ppTinfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTinfo)
+        {
+        MIDL_memset(
+               ppTinfo,
+               0,
+               sizeof( ITypeInfo ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      6);
+        
+        
+        
+        if(!guid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppTinfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 68;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)guid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[464] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTinfo,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[6],
+                         ( void * )ppTinfo);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_GetTypeInfoOfGuid_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeInfo *_M64;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *guid;
+    ITypeInfo **ppTinfo;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    guid = 0;
+    ppTinfo = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[464] );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&guid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        ppTinfo = &_M64;
+        _M64 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeLib*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeInfoOfGuid(
+                     (ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,
+                     guid,
+                     ppTinfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTinfo,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTinfo,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[6] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTinfo,
+                        &__MIDL_TypeFormatString.Format[6] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetLibAttr_Proxy( 
+    ITypeLib * This,
+    /* [out] */ LPTLIBATTR *ppTLibAttr,
+    /* [out] */ CLEANLOCALSTORAGE *pDummy)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTLibAttr)
+        {
+        *ppTLibAttr = 0;
+        }
+    if(pDummy)
+        {
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      7);
+        
+        
+        
+        if(!ppTLibAttr)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pDummy)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[474] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTLibAttr,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1744],
+                                  (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pDummy,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1778],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1744],
+                         ( void * )ppTLibAttr);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1772],
+                         ( void * )pDummy);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_RemoteGetLibAttr_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    LPTLIBATTR _M65;
+    CLEANLOCALSTORAGE _M66;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CLEANLOCALSTORAGE *pDummy;
+    LPTLIBATTR *ppTLibAttr;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    ppTLibAttr = 0;
+    pDummy = 0;
+    RpcTryFinally
+        {
+        ppTLibAttr = &_M65;
+        _M65 = 0;
+        pDummy = &_M66;
+        MIDL_memset(
+               pDummy,
+               0,
+               sizeof( CLEANLOCALSTORAGE  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib_GetLibAttr_Stub(
+                                   (ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,
+                                   ppTLibAttr,
+                                   pDummy);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTLibAttr,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1744] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTLibAttr,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1744] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pDummy,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1778] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTLibAttr,
+                        &__MIDL_TypeFormatString.Format[1744] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pDummy,
+                        &__MIDL_TypeFormatString.Format[1772] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeLib_GetTypeComp_Proxy( 
+    ITypeLib * This,
+    /* [out] */ ITypeComp **ppTComp)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTComp)
+        {
+        MIDL_memset(
+               ppTComp,
+               0,
+               sizeof( ITypeComp ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      8);
+        
+        
+        
+        if(!ppTComp)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[230] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppTComp,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1480],
+                         ( void * )ppTComp);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_GetTypeComp_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ITypeComp *_M67;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ITypeComp **ppTComp;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    ppTComp = 0;
+    RpcTryFinally
+        {
+        ppTComp = &_M67;
+        _M67 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeLib*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetTypeComp((ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,ppTComp);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppTComp,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppTComp,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1480] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTComp,
+                        &__MIDL_TypeFormatString.Format[1480] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteGetDocumentation_Proxy( 
+    ITypeLib * This,
+    /* [in] */ INT index,
+    /* [in] */ DWORD refPtrFlags,
+    /* [out] */ BSTR *pBstrName,
+    /* [out] */ BSTR *pBstrDocString,
+    /* [out] */ DWORD *pdwHelpContext,
+    /* [out] */ BSTR *pBstrHelpFile)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrName)
+        {
+        MIDL_memset(
+               pBstrName,
+               0,
+               sizeof( BSTR  ));
+        }
+    if(pBstrDocString)
+        {
+        MIDL_memset(
+               pBstrDocString,
+               0,
+               sizeof( BSTR  ));
+        }
+    if(pBstrHelpFile)
+        {
+        MIDL_memset(
+               pBstrHelpFile,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      9);
+        
+        
+        
+        if(!pBstrName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pBstrDocString)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pdwHelpContext)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pBstrHelpFile)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 16;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( INT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(INT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( DWORD * )_StubMsg.Buffer = refPtrFlags;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[282] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrName,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrDocString,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pdwHelpContext = *( DWORD * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrHelpFile,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrName);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrDocString);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pdwHelpContext);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrHelpFile);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_RemoteGetDocumentation_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M68;
+    BSTR _M69;
+    DWORD _M70	=	0;
+    BSTR _M71;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    INT index;
+    BSTR *pBstrDocString;
+    BSTR *pBstrHelpFile;
+    BSTR *pBstrName;
+    DWORD *pdwHelpContext;
+    DWORD refPtrFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    refPtrFlags = 0;
+    pBstrName = 0;
+    pBstrDocString = 0;
+    pdwHelpContext = 0;
+    pBstrHelpFile = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[282] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( INT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(INT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        refPtrFlags = *( DWORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        pBstrName = &_M68;
+        MIDL_memset(
+               pBstrName,
+               0,
+               sizeof( BSTR  ));
+        pBstrDocString = &_M69;
+        MIDL_memset(
+               pBstrDocString,
+               0,
+               sizeof( BSTR  ));
+        pdwHelpContext = &_M70;
+        pBstrHelpFile = &_M71;
+        MIDL_memset(
+               pBstrHelpFile,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib_GetDocumentation_Stub(
+                                         (ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,
+                                         index,
+                                         refPtrFlags,
+                                         pBstrName,
+                                         pBstrDocString,
+                                         pdwHelpContext,
+                                         pBstrHelpFile);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrName,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrDocString,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrHelpFile,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrName,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrDocString,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( DWORD * )_StubMsg.Buffer = *pdwHelpContext;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrHelpFile,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrName,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrDocString,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrHelpFile,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteIsName_Proxy( 
+    ITypeLib * This,
+    /* [in] */ LPOLESTR szNameBuf,
+    /* [in] */ ULONG lHashVal,
+    /* [out] */ BOOL *pfName,
+    /* [out] */ BSTR *pBstrLibName)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrLibName)
+        {
+        MIDL_memset(
+               pBstrLibName,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      10);
+        
+        
+        
+        if(!szNameBuf)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pfName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pBstrLibName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)szNameBuf,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)szNameBuf,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( ULONG * )_StubMsg.Buffer = lHashVal;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[484] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pfName = *( BOOL * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(BOOL);
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrLibName,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pfName);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrLibName);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_RemoteIsName_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BOOL _M74	=	0;
+    BSTR _M75;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ULONG lHashVal;
+    BSTR *pBstrLibName;
+    BOOL *pfName;
+    LPOLESTR szNameBuf;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    szNameBuf = 0;
+    lHashVal = 0;
+    pfName = 0;
+    pBstrLibName = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[484] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&szNameBuf,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lHashVal = *( ULONG * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        pfName = &_M74;
+        pBstrLibName = &_M75;
+        MIDL_memset(
+               pBstrLibName,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib_IsName_Stub(
+                               (ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,
+                               szNameBuf,
+                               lHashVal,
+                               pfName,
+                               pBstrLibName);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrLibName,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( BOOL * )_StubMsg.Buffer = *pfName;
+        _StubMsg.Buffer += sizeof(BOOL);
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrLibName,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrLibName,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib_RemoteFindName_Proxy( 
+    ITypeLib * This,
+    /* [in] */ LPOLESTR szNameBuf,
+    /* [in] */ ULONG lHashVal,
+    /* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
+    /* [length_is][size_is][out] */ MEMBERID *rgMemId,
+    /* [out][in] */ USHORT *pcFound,
+    /* [out] */ BSTR *pBstrLibName)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppTInfo)
+        {
+        MIDL_memset(
+               ppTInfo,
+               0,
+               *pcFound * sizeof( ITypeInfo ** ));
+        }
+    if(pBstrLibName)
+        {
+        MIDL_memset(
+               pBstrLibName,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      11);
+        
+        
+        
+        if(!szNameBuf)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppTInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!rgMemId)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pcFound)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pBstrLibName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 34;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)szNameBuf,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)szNameBuf,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( ULONG * )_StubMsg.Buffer = lHashVal;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+            *( USHORT * )_StubMsg.Buffer = *pcFound;
+            _StubMsg.Buffer += sizeof(USHORT);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[500] );
+            
+            NdrComplexArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&ppTInfo,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1792],
+                                       (unsigned char)0 );
+            
+            NdrConformantVaryingArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                                 (unsigned char * *)&rgMemId,
+                                                 (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1814],
+                                                 (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+            *pcFound = *( USHORT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(USHORT);
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrLibName,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = 0;
+        _StubMsg.ActualCount = (unsigned long) _StubMsg.MaxCount;
+        
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1788],
+                         ( void * )ppTInfo);
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = 0;
+        _StubMsg.ActualCount = (unsigned long) _StubMsg.MaxCount;
+        
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1810],
+                         ( void * )rgMemId);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1828],
+                         ( void * )pcFound);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrLibName);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib_RemoteFindName_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M84;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ULONG lHashVal;
+    BSTR *pBstrLibName;
+    USHORT *pcFound;
+    ITypeInfo **ppTInfo;
+    MEMBERID *rgMemId;
+    LPOLESTR szNameBuf;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    szNameBuf = 0;
+    lHashVal = 0;
+    ppTInfo = 0;
+    rgMemId = 0;
+    pcFound = 0;
+    pBstrLibName = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[500] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&szNameBuf,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lHashVal = *( ULONG * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+        pcFound = ( USHORT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof( USHORT  );
+        
+        ppTInfo = NdrAllocate(&_StubMsg,*pcFound * 8);
+        rgMemId = NdrAllocate(&_StubMsg,*pcFound * 4);
+        pBstrLibName = &_M84;
+        MIDL_memset(
+               pBstrLibName,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib_FindName_Stub(
+                                 (ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject,
+                                 szNameBuf,
+                                 lHashVal,
+                                 ppTInfo,
+                                 rgMemId,
+                                 pcFound,
+                                 pBstrLibName);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 34;
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        
+        NdrComplexArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char *)ppTInfo,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1792] );
+        
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        
+        NdrConformantVaryingArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                             (unsigned char *)rgMemId,
+                                             (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1814] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrLibName,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        
+        NdrComplexArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                 (unsigned char *)ppTInfo,
+                                 (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1792] );
+        
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        
+        NdrConformantVaryingArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                           (unsigned char *)rgMemId,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1814] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 1) & ~ 0x1);
+        *( USHORT * )_StubMsg.Buffer = *pcFound;
+        _StubMsg.Buffer += sizeof(USHORT);
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrLibName,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppTInfo,
+                        &__MIDL_TypeFormatString.Format[1788] );
+        
+        _StubMsg.MaxCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        _StubMsg.Offset = ( unsigned long  )0;
+        _StubMsg.ActualCount = ( unsigned long  )(pcFound ? *pcFound : 0);
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)rgMemId,
+                        &__MIDL_TypeFormatString.Format[1810] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrLibName,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+void __RPC_STUB ITypeLib_LocalReleaseTLibAttr_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    RpcTryFinally
+        {
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib_ReleaseTLibAttr_Stub((ITypeLib *) ((CStdStubBuffer *)This)->pvServerObject);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ITypeLib2_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ITypeLib2_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE ITypeLib2_GetCustData_Proxy( 
+    ITypeLib2 * This,
+    /* [in] */ REFGUID guid,
+    /* [out] */ VARIANT *pVarVal)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pVarVal)
+        {
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      13);
+        
+        
+        
+        if(!guid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVarVal)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 68;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)guid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[376] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pVarVal,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1036],
+                         ( void * )pVarVal);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib2_GetCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    VARIANT _M85;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *guid;
+    VARIANT *pVarVal;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    guid = 0;
+    pVarVal = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[376] );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&guid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        pVarVal = &_M85;
+        MIDL_memset(
+               pVarVal,
+               0,
+               sizeof( VARIANT  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeLib2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetCustData(
+               (ITypeLib2 *) ((CStdStubBuffer *)This)->pvServerObject,
+               guid,
+               pVarVal);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pVarVal,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pVarVal,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVarVal,
+                        &__MIDL_TypeFormatString.Format[1036] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetLibStatistics_Proxy( 
+    ITypeLib2 * This,
+    /* [out] */ ULONG *pcUniqueNames,
+    /* [out] */ ULONG *pcchUniqueNames)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      14);
+        
+        
+        
+        if(!pcUniqueNames)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pcchUniqueNames)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[524] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pcUniqueNames = *( ULONG * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pcchUniqueNames = *( ULONG * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(ULONG);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pcUniqueNames);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pcchUniqueNames);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib2_RemoteGetLibStatistics_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    ULONG _M86	=	0;
+    ULONG _M87	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ULONG *pcUniqueNames;
+    ULONG *pcchUniqueNames;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pcUniqueNames = 0;
+    pcchUniqueNames = 0;
+    RpcTryFinally
+        {
+        pcUniqueNames = &_M86;
+        pcchUniqueNames = &_M87;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib2_GetLibStatistics_Stub(
+                                          (ITypeLib2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                                          pcUniqueNames,
+                                          pcchUniqueNames);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 64;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( ULONG * )_StubMsg.Buffer = *pcUniqueNames;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( ULONG * )_StubMsg.Buffer = *pcchUniqueNames;
+        _StubMsg.Buffer += sizeof(ULONG);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE ITypeLib2_RemoteGetDocumentation2_Proxy( 
+    ITypeLib2 * This,
+    /* [in] */ INT index,
+    /* [in] */ LCID lcid,
+    /* [in] */ DWORD refPtrFlags,
+    /* [out] */ BSTR *pbstrHelpString,
+    /* [out] */ DWORD *pdwHelpStringContext,
+    /* [out] */ BSTR *pbstrHelpStringDll)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pbstrHelpString)
+        {
+        MIDL_memset(
+               pbstrHelpString,
+               0,
+               sizeof( BSTR  ));
+        }
+    if(pbstrHelpStringDll)
+        {
+        MIDL_memset(
+               pbstrHelpStringDll,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      15);
+        
+        
+        
+        if(!pbstrHelpString)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pdwHelpStringContext)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pbstrHelpStringDll)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 24;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( INT * )_StubMsg.Buffer = index;
+            _StubMsg.Buffer += sizeof(INT);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( LCID * )_StubMsg.Buffer = lcid;
+            _StubMsg.Buffer += sizeof(LCID);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( DWORD * )_StubMsg.Buffer = refPtrFlags;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[412] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pbstrHelpString,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pdwHelpStringContext = *( DWORD * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pbstrHelpStringDll,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pbstrHelpString);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pdwHelpStringContext);
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pbstrHelpStringDll);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib2_RemoteGetDocumentation2_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M88;
+    DWORD _M89	=	0;
+    BSTR _M90;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    INT index;
+    LCID lcid;
+    BSTR *pbstrHelpString;
+    BSTR *pbstrHelpStringDll;
+    DWORD *pdwHelpStringContext;
+    DWORD refPtrFlags;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    index = 0;
+    lcid = 0;
+    refPtrFlags = 0;
+    pbstrHelpString = 0;
+    pdwHelpStringContext = 0;
+    pbstrHelpStringDll = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[412] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        index = *( INT * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(INT);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        lcid = *( LCID * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(LCID);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        refPtrFlags = *( DWORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        pbstrHelpString = &_M88;
+        MIDL_memset(
+               pbstrHelpString,
+               0,
+               sizeof( BSTR  ));
+        pdwHelpStringContext = &_M89;
+        pbstrHelpStringDll = &_M90;
+        MIDL_memset(
+               pbstrHelpStringDll,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = ITypeLib2_GetDocumentation2_Stub(
+                                           (ITypeLib2 *) ((CStdStubBuffer *)This)->pvServerObject,
+                                           index,
+                                           lcid,
+                                           refPtrFlags,
+                                           pbstrHelpString,
+                                           pdwHelpStringContext,
+                                           pbstrHelpStringDll);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pbstrHelpString,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pbstrHelpStringDll,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pbstrHelpString,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( DWORD * )_StubMsg.Buffer = *pdwHelpStringContext;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pbstrHelpStringDll,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pbstrHelpString,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pbstrHelpStringDll,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ITypeLib2_GetAllCustData_Proxy( 
+    ITypeLib2 * This,
+    /* [out] */ CUSTDATA *pCustData)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pCustData)
+        {
+        MIDL_memset(
+               pCustData,
+               0,
+               sizeof( CUSTDATA  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      16);
+        
+        
+        
+        if(!pCustData)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[432] );
+            
+            NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                        (unsigned char * *)&pCustData,
+                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728],
+                                        (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1688],
+                         ( void * )pCustData);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeLib2_GetAllCustData_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    CUSTDATA _pCustDataM;
+    CUSTDATA *pCustData;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pCustData = 0;
+    RpcTryFinally
+        {
+        pCustData = &_pCustDataM;
+        pCustData -> prgCustData = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeLib2*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetAllCustData((ITypeLib2 *) ((CStdStubBuffer *)This)->pvServerObject,pCustData);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                    (unsigned char *)pCustData,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                  (unsigned char *)pCustData,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1728] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pCustData,
+                        &__MIDL_TypeFormatString.Format[1688] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO IErrorInfo_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO IErrorInfo_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE IErrorInfo_GetGUID_Proxy( 
+    IErrorInfo * This,
+    /* [out] */ GUID *pGUID)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pGUID)
+        {
+        MIDL_memset(
+               pGUID,
+               0,
+               sizeof( IID  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!pGUID)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[534] );
+            
+            NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&pGUID,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                       (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1832],
+                         ( void * )pGUID);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IErrorInfo_GetGUID_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    IID _pGUIDM;
+    GUID *pGUID;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pGUID = 0;
+    RpcTryFinally
+        {
+        pGUID = &_pGUIDM;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetGUID((IErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,pGUID);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 76;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                 (unsigned char *)pGUID,
+                                 (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IErrorInfo_GetSource_Proxy( 
+    IErrorInfo * This,
+    /* [out] */ BSTR *pBstrSource)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrSource)
+        {
+        MIDL_memset(
+               pBstrSource,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        if(!pBstrSource)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[540] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrSource,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrSource);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IErrorInfo_GetSource_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M91;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    BSTR *pBstrSource;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pBstrSource = 0;
+    RpcTryFinally
+        {
+        pBstrSource = &_M91;
+        MIDL_memset(
+               pBstrSource,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetSource((IErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,pBstrSource);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrSource,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrSource,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrSource,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IErrorInfo_GetDescription_Proxy( 
+    IErrorInfo * This,
+    /* [out] */ BSTR *pBstrDescription)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrDescription)
+        {
+        MIDL_memset(
+               pBstrDescription,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      5);
+        
+        
+        
+        if(!pBstrDescription)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[540] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrDescription,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrDescription);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IErrorInfo_GetDescription_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M92;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    BSTR *pBstrDescription;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pBstrDescription = 0;
+    RpcTryFinally
+        {
+        pBstrDescription = &_M92;
+        MIDL_memset(
+               pBstrDescription,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetDescription((IErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,pBstrDescription);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrDescription,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrDescription,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrDescription,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpFile_Proxy( 
+    IErrorInfo * This,
+    /* [out] */ BSTR *pBstrHelpFile)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pBstrHelpFile)
+        {
+        MIDL_memset(
+               pBstrHelpFile,
+               0,
+               sizeof( BSTR  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      6);
+        
+        
+        
+        if(!pBstrHelpFile)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[540] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pBstrHelpFile,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1648],
+                         ( void * )pBstrHelpFile);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IErrorInfo_GetHelpFile_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    BSTR _M93;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    BSTR *pBstrHelpFile;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pBstrHelpFile = 0;
+    RpcTryFinally
+        {
+        pBstrHelpFile = &_M93;
+        MIDL_memset(
+               pBstrHelpFile,
+               0,
+               sizeof( BSTR  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetHelpFile((IErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,pBstrHelpFile);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pBstrHelpFile,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pBstrHelpFile,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1062] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pBstrHelpFile,
+                        &__MIDL_TypeFormatString.Format[1648] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IErrorInfo_GetHelpContext_Proxy( 
+    IErrorInfo * This,
+    /* [out] */ DWORD *pdwHelpContext)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      7);
+        
+        
+        
+        if(!pdwHelpContext)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *pdwHelpContext = *( DWORD * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
+                         ( void * )pdwHelpContext);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IErrorInfo_GetHelpContext_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    DWORD _M94	=	0;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    DWORD *pdwHelpContext;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pdwHelpContext = 0;
+    RpcTryFinally
+        {
+        pdwHelpContext = &_M94;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetHelpContext((IErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,pdwHelpContext);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 36;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( DWORD * )_StubMsg.Buffer = *pdwHelpContext;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ICreateErrorInfo_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ICreateErrorInfo_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetGUID_Proxy( 
+    ICreateErrorInfo * This,
+    /* [in] */ REFGUID rguid)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!rguid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 68;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)rguid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[546] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ICreateErrorInfo_SetGUID_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    GUID *rguid;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    rguid = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[546] );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&rguid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ICreateErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> SetGUID((ICreateErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,rguid);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetSource_Proxy( 
+    ICreateErrorInfo * This,
+    /* [in] */ LPOLESTR szSource)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        if(!szSource)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)szSource,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)szSource,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[552] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ICreateErrorInfo_SetSource_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    LPOLESTR szSource;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    szSource = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[552] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&szSource,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ICreateErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> SetSource((ICreateErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,szSource);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetDescription_Proxy( 
+    ICreateErrorInfo * This,
+    /* [in] */ LPOLESTR szDescription)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      5);
+        
+        
+        
+        if(!szDescription)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)szDescription,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)szDescription,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[552] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ICreateErrorInfo_SetDescription_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    LPOLESTR szDescription;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    szDescription = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[552] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&szDescription,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ICreateErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> SetDescription((ICreateErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,szDescription);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpFile_Proxy( 
+    ICreateErrorInfo * This,
+    /* [in] */ LPOLESTR szHelpFile)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      6);
+        
+        
+        
+        if(!szHelpFile)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)szHelpFile,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)szHelpFile,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[552] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ICreateErrorInfo_SetHelpFile_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    LPOLESTR szHelpFile;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    szHelpFile = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[552] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&szHelpFile,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ICreateErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> SetHelpFile((ICreateErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,szHelpFile);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE ICreateErrorInfo_SetHelpContext_Proxy( 
+    ICreateErrorInfo * This,
+    /* [in] */ DWORD dwHelpContext)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      7);
+        
+        
+        
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( DWORD * )_StubMsg.Buffer = dwHelpContext;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[162] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ICreateErrorInfo_SetHelpContext_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    DWORD dwHelpContext;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    dwHelpContext = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[162] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        dwHelpContext = *( DWORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ICreateErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> SetHelpContext((ICreateErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,dwHelpContext);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ISupportErrorInfo_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ISupportErrorInfo_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy( 
+    ISupportErrorInfo * This,
+    /* [in] */ REFIID riid)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!riid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 68;
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)riid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[546] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    IID *riid;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    riid = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[546] );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&riid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ISupportErrorInfo*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> InterfaceSupportsErrorInfo((ISupportErrorInfo *) ((CStdStubBuffer *)This)->pvServerObject,riid);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO ITypeFactory_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO ITypeFactory_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE ITypeFactory_CreateFromTypeInfo_Proxy( 
+    ITypeFactory * This,
+    /* [in] */ ITypeInfo *pTypeInfo,
+    /* [in] */ REFIID riid,
+    /* [iid_is][out] */ IUnknown **ppv)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(ppv)
+        {
+        MIDL_memset(
+               ppv,
+               0,
+               sizeof( IUnknown ** ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!riid)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!ppv)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 68;
+            NdrInterfacePointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)pTypeInfo,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[10] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrInterfacePointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)pTypeInfo,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[10] );
+            
+            NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                     (unsigned char *)riid,
+                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[558] );
+            
+            NdrPointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&ppv,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1836],
+                                  (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1836],
+                         ( void * )ppv);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB ITypeFactory_CreateFromTypeInfo_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    IUnknown **_M101;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    ITypeInfo *pTypeInfo;
+    IUnknown **ppv;
+    IID *riid;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pTypeInfo = 0;
+    riid = 0;
+    ppv = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[558] );
+        
+        NdrInterfacePointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&pTypeInfo,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[10],
+                                       (unsigned char)0 );
+        
+        NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                   (unsigned char * *)&riid,
+                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
+                                   (unsigned char)0 );
+        
+        ppv = (void *)&_M101;
+        _M101 = 0;
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((ITypeFactory*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> CreateFromTypeInfo(
+                      (ITypeFactory *) ((CStdStubBuffer *)This)->pvServerObject,
+                      pTypeInfo,
+                      riid,
+                      ppv);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrPointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                              (unsigned char *)ppv,
+                              (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1836] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrPointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                            (unsigned char *)ppv,
+                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1836] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrInterfacePointerFree( &_StubMsg,
+                                 (unsigned char *)pTypeInfo,
+                                 &__MIDL_TypeFormatString.Format[10] );
+        
+        _StubMsg.MaxCount = (ULONG_PTR) ( riid );
+        
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)ppv,
+                        &__MIDL_TypeFormatString.Format[1836] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO IErrorLog_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO IErrorLog_ProxyInfo;
+
+
+HRESULT STDMETHODCALLTYPE IErrorLog_AddError_Proxy( 
+    IErrorLog * This,
+    /* [in] */ LPCOLESTR pszPropName,
+    /* [in] */ EXCEPINFO *pExcepInfo)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!pszPropName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pExcepInfo)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)pszPropName,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                        (unsigned char *)pExcepInfo,
+                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1072] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)pszPropName,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                      (unsigned char *)pExcepInfo,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1072] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[572] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IErrorLog_AddError_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    EXCEPINFO *pExcepInfo;
+    LPCOLESTR pszPropName;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pszPropName = 0;
+    pExcepInfo = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[572] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&pszPropName,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                    (unsigned char * *)&pExcepInfo,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1072],
+                                    (unsigned char)0 );
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IErrorLog*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> AddError(
+            (IErrorLog *) ((CStdStubBuffer *)This)->pvServerObject,
+            pszPropName,
+            pExcepInfo);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pExcepInfo,
+                        &__MIDL_TypeFormatString.Format[1846] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc;
+
+
+static const MIDL_SERVER_INFO IPropertyBag_ServerInfo;
+static const MIDL_STUBLESS_PROXY_INFO IPropertyBag_ProxyInfo;
+
+
+/* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyBag_RemoteRead_Proxy( 
+    IPropertyBag * This,
+    /* [in] */ LPCOLESTR pszPropName,
+    /* [out] */ VARIANT *pVar,
+    /* [in] */ IErrorLog *pErrorLog,
+    /* [in] */ DWORD varType,
+    /* [in] */ IUnknown *pUnkObj)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    if(pVar)
+        {
+        MIDL_memset(
+               pVar,
+               0,
+               sizeof( VARIANT  ));
+        }
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      3);
+        
+        
+        
+        if(!pszPropName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVar)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 8;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)pszPropName,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrInterfacePointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)pErrorLog,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1850] );
+            
+            NdrInterfacePointerBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)pUnkObj,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[406] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)pszPropName,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrInterfacePointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)pErrorLog,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1850] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            *( DWORD * )_StubMsg.Buffer = varType;
+            _StubMsg.Buffer += sizeof(DWORD);
+            
+            NdrInterfacePointerMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)pUnkObj,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[406] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[582] );
+            
+            NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char * *)&pVar,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044],
+                                      (unsigned char)0 );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        NdrClearOutParameters(
+                         ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                         ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[1036],
+                         ( void * )pVar);
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IPropertyBag_RemoteRead_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    VARIANT _M106;
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    IErrorLog *pErrorLog;
+    IUnknown *pUnkObj;
+    VARIANT *pVar;
+    LPCOLESTR pszPropName;
+    DWORD varType;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pszPropName = 0;
+    pVar = 0;
+    pErrorLog = 0;
+    varType = 0;
+    pUnkObj = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[582] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&pszPropName,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        NdrInterfacePointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&pErrorLog,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1850],
+                                       (unsigned char)0 );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        
+        if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+            {
+            RpcRaiseException(RPC_X_BAD_STUB_DATA);
+            }
+        varType = *( DWORD * )_StubMsg.Buffer;
+        _StubMsg.Buffer += sizeof(DWORD);
+        
+        NdrInterfacePointerUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&pUnkObj,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[406],
+                                       (unsigned char)0 );
+        
+        pVar = &_M106;
+        MIDL_memset(
+               pVar,
+               0,
+               sizeof( VARIANT  ));
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        
+        
+        _RetVal = IPropertyBag_Read_Stub(
+                                 (IPropertyBag *) ((CStdStubBuffer *)This)->pvServerObject,
+                                 pszPropName,
+                                 pVar,
+                                 pErrorLog,
+                                 varType,
+                                 pUnkObj);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char *)pVar,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                (unsigned char *)pVar,
+                                (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1044] );
+        
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVar,
+                        &__MIDL_TypeFormatString.Format[1036] );
+        
+        NdrInterfacePointerFree( &_StubMsg,
+                                 (unsigned char *)pErrorLog,
+                                 &__MIDL_TypeFormatString.Format[1850] );
+        
+        NdrInterfacePointerFree( &_StubMsg,
+                                 (unsigned char *)pUnkObj,
+                                 &__MIDL_TypeFormatString.Format[406] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+HRESULT STDMETHODCALLTYPE IPropertyBag_Write_Proxy( 
+    IPropertyBag * This,
+    /* [in] */ LPCOLESTR pszPropName,
+    /* [in] */ VARIANT *pVar)
+{
+
+    HRESULT _RetVal;
+    
+    RPC_MESSAGE _RpcMessage;
+    
+    MIDL_STUB_MESSAGE _StubMsg;
+    
+    RpcTryExcept
+        {
+        NdrProxyInitialize(
+                      ( void *  )This,
+                      ( PRPC_MESSAGE  )&_RpcMessage,
+                      ( PMIDL_STUB_MESSAGE  )&_StubMsg,
+                      ( PMIDL_STUB_DESC  )&Object_StubDesc,
+                      4);
+        
+        
+        
+        if(!pszPropName)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        if(!pVar)
+            {
+            RpcRaiseException(RPC_X_NULL_REF_POINTER);
+            }
+        RpcTryFinally
+            {
+            
+            _StubMsg.BufferLength = 0;
+            NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                           (unsigned char *)pszPropName,
+                                           (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                      (unsigned char *)pVar,
+                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[976] );
+            
+            NdrProxyGetBuffer(This, &_StubMsg);
+            NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                         (unsigned char *)pszPropName,
+                                         (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182] );
+            
+            NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
+                                    (unsigned char *)pVar,
+                                    (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[976] );
+            
+            NdrProxySendReceive(This, &_StubMsg);
+            
+            _StubMsg.BufferStart = (unsigned char *) _RpcMessage.Buffer; 
+            _StubMsg.BufferEnd   = _StubMsg.BufferStart + _RpcMessage.BufferLength;
+            
+            if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+                NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[602] );
+            
+            _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+            
+            if(_StubMsg.Buffer + 4 > _StubMsg.BufferEnd)
+                {
+                RpcRaiseException(RPC_X_BAD_STUB_DATA);
+                }
+            _RetVal = *( HRESULT * )_StubMsg.Buffer;
+            _StubMsg.Buffer += sizeof(HRESULT);
+            
+            }
+        RpcFinally
+            {
+            NdrProxyFreeBuffer(This, &_StubMsg);
+            
+            }
+        RpcEndFinally
+        
+        }
+    RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
+        {
+        _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
+        }
+    RpcEndExcept
+    return _RetVal;
+}
+
+void __RPC_STUB IPropertyBag_Write_Stub(
+    IRpcStubBuffer *This,
+    IRpcChannelBuffer *_pRpcChannelBuffer,
+    PRPC_MESSAGE _pRpcMessage,
+    DWORD *_pdwStubPhase)
+{
+    HRESULT _RetVal;
+    MIDL_STUB_MESSAGE _StubMsg;
+    VARIANT *pVar;
+    LPCOLESTR pszPropName;
+    
+NdrStubInitialize(
+                     _pRpcMessage,
+                     &_StubMsg,
+                     &Object_StubDesc,
+                     _pRpcChannelBuffer);
+    pszPropName = 0;
+    pVar = 0;
+    RpcTryFinally
+        {
+        if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
+            NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[602] );
+        
+        NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                       (unsigned char * *)&pszPropName,
+                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1182],
+                                       (unsigned char)0 );
+        
+        NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
+                                  (unsigned char * *)&pVar,
+                                  (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[976],
+                                  (unsigned char)0 );
+        
+        
+        *_pdwStubPhase = STUB_CALL_SERVER;
+        _RetVal = (((IPropertyBag*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> Write(
+         (IPropertyBag *) ((CStdStubBuffer *)This)->pvServerObject,
+         pszPropName,
+         pVar);
+        
+        *_pdwStubPhase = STUB_MARSHAL;
+        
+        _StubMsg.BufferLength = 8;
+        NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
+        _StubMsg.Buffer = (unsigned char *)(((__int64)_StubMsg.Buffer + 3) & ~ 0x3);
+        *( HRESULT * )_StubMsg.Buffer = _RetVal;
+        _StubMsg.Buffer += sizeof(HRESULT);
+        
+        }
+    RpcFinally
+        {
+        NdrPointerFree( &_StubMsg,
+                        (unsigned char *)pVar,
+                        &__MIDL_TypeFormatString.Format[1868] );
+        
+        }
+    RpcEndFinally
+    _pRpcMessage->BufferLength = 
+        (unsigned int)(_StubMsg.Buffer - (unsigned char *)_pRpcMessage->Buffer);
+    
+}
+
+
+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];
+
+#if !defined(__RPC_WIN64__)
+#error  Invalid build platform for this stub.
+#endif
+
+static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
+    {
+        0,
+        {
+			
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/*  2 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/*  4 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/*  6 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/*  8 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 10 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 12 */	NdrFcShort( 0x6 ),	/* Type Offset=6 */
+/* 14 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 16 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 18 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 20 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 22 */	NdrFcShort( 0x32 ),	/* Type Offset=50 */
+/* 24 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 26 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 28 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 30 */	NdrFcShort( 0x48 ),	/* Type Offset=72 */
+/* 32 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+
+	/* Procedure RemoteInvoke */
+
+/* 34 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 36 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 40 */	NdrFcShort( 0x6 ),	/* 6 */
+/* 42 */	NdrFcShort( 0x68 ),	/* ia64 Stack size/offset = 104 */
+/* 44 */	NdrFcShort( 0x64 ),	/* 100 */
+/* 46 */	NdrFcShort( 0x24 ),	/* 36 */
+/* 48 */	0x7,		/* Oi2 Flags:  srv must size, clt must size, has return, */
+			0xc,		/* 12 */
+
+	/* Parameter dispIdMember */
+
+/* 50 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+/* 52 */	NdrFcShort( 0x8 ),	/* ia64 Stack size/offset = 8 */
+/* 54 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter riid */
+
+/* 56 */	NdrFcShort( 0x10a ),	/* Flags:  must free, in, simple ref, */
+/* 58 */	NdrFcShort( 0x10 ),	/* ia64 Stack size/offset = 16 */
+/* 60 */	NdrFcShort( 0x26 ),	/* Type Offset=38 */
+
+	/* Parameter lcid */
+
+/* 62 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+/* 64 */	NdrFcShort( 0x18 ),	/* ia64 Stack size/offset = 24 */
+/* 66 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter dwFlags */
+
+/* 68 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+/* 70 */	NdrFcShort( 0x20 ),	/* ia64 Stack size/offset = 32 */
+/* 72 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter pDispParams */
+
+/* 74 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */
+/* 76 */	NdrFcShort( 0x28 ),	/* ia64 Stack size/offset = 40 */
+/* 78 */	NdrFcShort( 0x3f6 ),	/* Type Offset=1014 */
+
+	/* Parameter pVarResult */
+
+/* 80 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */
+/* 82 */	NdrFcShort( 0x30 ),	/* ia64 Stack size/offset = 48 */
+/* 84 */	NdrFcShort( 0x414 ),	/* Type Offset=1044 */
+
+	/* Parameter pExcepInfo */
+
+/* 86 */	NdrFcShort( 0xc113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=48 */
+/* 88 */	NdrFcShort( 0x38 ),	/* ia64 Stack size/offset = 56 */
+/* 90 */	NdrFcShort( 0x430 ),	/* Type Offset=1072 */
+
+	/* Parameter pArgErr */
+
+/* 92 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+/* 94 */	NdrFcShort( 0x40 ),	/* ia64 Stack size/offset = 64 */
+/* 96 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter cVarRef */
+
+/* 98 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+/* 100 */	NdrFcShort( 0x48 ),	/* ia64 Stack size/offset = 72 */
+/* 102 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter rgVarRefIdx */
+
+/* 104 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */
+/* 106 */	NdrFcShort( 0x50 ),	/* ia64 Stack size/offset = 80 */
+/* 108 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */
+
+	/* Parameter rgVarRef */
+
+/* 110 */	NdrFcShort( 0x11b ),	/* Flags:  must size, must free, in, out, simple ref, */
+/* 112 */	NdrFcShort( 0x58 ),	/* ia64 Stack size/offset = 88 */
+/* 114 */	NdrFcShort( 0x45e ),	/* Type Offset=1118 */
+
+	/* Return value */
+
+/* 116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+/* 118 */	NdrFcShort( 0x60 ),	/* ia64 Stack size/offset = 96 */
+/* 120 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Procedure RemoteNext */
+
+/* 122 */	0x33,		/* FC_AUTO_HANDLE */
+			0x6c,		/* Old Flags:  object, Oi2 */
+/* 124 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 128 */	NdrFcShort( 0x3 ),	/* 3 */
+/* 130 */	NdrFcShort( 0x28 ),	/* ia64 Stack size/offset = 40 */
+/* 132 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 134 */	NdrFcShort( 0x24 ),	/* 36 */
+/* 136 */	0x5,		/* Oi2 Flags:  srv must size, has return, */
+			0x4,		/* 4 */
+
+	/* Parameter celt */
+
+/* 138 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */
+/* 140 */	NdrFcShort( 0x8 ),	/* ia64 Stack size/offset = 8 */
+/* 142 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Parameter rgVar */
+
+/* 144 */	NdrFcShort( 0x113 ),	/* Flags:  must size, must free, out, simple ref, */
+/* 146 */	NdrFcShort( 0x10 ),	/* ia64 Stack size/offset = 16 */
+/* 148 */	NdrFcShort( 0x474 ),	/* Type Offset=1140 */
+
+	/* Parameter pCeltFetched */
+
+/* 150 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */
+/* 152 */	NdrFcShort( 0x18 ),	/* ia64 Stack size/offset = 24 */
+/* 154 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+
+	/* Return value */
+
+/* 156 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */
+/* 158 */	NdrFcShort( 0x20 ),	/* ia64 Stack size/offset = 32 */
+/* 160 */	0x8,		/* FC_LONG */
+			0x0,		/* 0 */
+/* 162 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 164 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 166 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 168 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 170 */	NdrFcShort( 0x486 ),	/* Type Offset=1158 */
+/* 172 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 174 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 176 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 178 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 180 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x6,		/* FC_SHORT */
+/* 182 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 184 */	NdrFcShort( 0x6 ),	/* Type Offset=6 */
+/* 186 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 188 */	NdrFcShort( 0x4a0 ),	/* Type Offset=1184 */
+/* 190 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 192 */	NdrFcShort( 0x4a4 ),	/* Type Offset=1188 */
+/* 194 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 196 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */
+/* 198 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 200 */	NdrFcShort( 0x5c8 ),	/* Type Offset=1480 */
+/* 202 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 204 */	NdrFcShort( 0x5de ),	/* Type Offset=1502 */
+/* 206 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 208 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 210 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 212 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 214 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 216 */	NdrFcShort( 0x6 ),	/* Type Offset=6 */
+/* 218 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 220 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 222 */	NdrFcShort( 0x5ee ),	/* Type Offset=1518 */
+/* 224 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 226 */	NdrFcShort( 0x62a ),	/* Type Offset=1578 */
+/* 228 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 230 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 232 */	NdrFcShort( 0x5c8 ),	/* Type Offset=1480 */
+/* 234 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 236 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 238 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 240 */	NdrFcShort( 0x4a4 ),	/* Type Offset=1188 */
+/* 242 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 244 */	NdrFcShort( 0x63a ),	/* Type Offset=1594 */
+/* 246 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 248 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 250 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 252 */	NdrFcShort( 0x57a ),	/* Type Offset=1402 */
+/* 254 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 256 */	NdrFcShort( 0x64a ),	/* Type Offset=1610 */
+/* 258 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 260 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 262 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 264 */	NdrFcShort( 0x65a ),	/* Type Offset=1626 */
+/* 266 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 268 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 270 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 272 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 274 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 276 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 278 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 280 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 282 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 284 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 286 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 288 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 290 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 292 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 294 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 296 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 298 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 300 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 302 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 304 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 306 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0xe,		/* FC_ENUM32 */
+/* 308 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 310 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 312 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 314 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 316 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 318 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 320 */	NdrFcShort( 0x674 ),	/* Type Offset=1652 */
+/* 322 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 324 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 326 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 328 */	NdrFcShort( 0x6 ),	/* Type Offset=6 */
+/* 330 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 332 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 334 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 336 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 338 */	NdrFcShort( 0x678 ),	/* Type Offset=1656 */
+/* 340 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 342 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 344 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 346 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 348 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 350 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 352 */	NdrFcShort( 0x682 ),	/* Type Offset=1666 */
+/* 354 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 356 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 358 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 360 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 362 */	NdrFcShort( 0x4a0 ),	/* Type Offset=1184 */
+/* 364 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 366 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 368 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0xe,		/* FC_ENUM32 */
+/* 370 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 372 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 374 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 376 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 378 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 380 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 382 */	NdrFcShort( 0x40c ),	/* Type Offset=1036 */
+/* 384 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 386 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 388 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 390 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 392 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 394 */	NdrFcShort( 0x40c ),	/* Type Offset=1036 */
+/* 396 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 398 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 400 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 402 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 404 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 406 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 408 */	NdrFcShort( 0x40c ),	/* Type Offset=1036 */
+/* 410 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 412 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 414 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 416 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 418 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 420 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 422 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 424 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 426 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 428 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 430 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 432 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 434 */	NdrFcShort( 0x698 ),	/* Type Offset=1688 */
+/* 436 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 438 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 440 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 442 */	NdrFcShort( 0x698 ),	/* Type Offset=1688 */
+/* 444 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 446 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 448 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 450 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 452 */	NdrFcShort( 0x698 ),	/* Type Offset=1688 */
+/* 454 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 456 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 458 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 460 */	NdrFcShort( 0x4a0 ),	/* Type Offset=1184 */
+/* 462 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 464 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 466 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 468 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 470 */	NdrFcShort( 0x6 ),	/* Type Offset=6 */
+/* 472 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 474 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 476 */	NdrFcShort( 0x6d0 ),	/* Type Offset=1744 */
+/* 478 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 480 */	NdrFcShort( 0x6ec ),	/* Type Offset=1772 */
+/* 482 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 484 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 486 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 488 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 490 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 492 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 494 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 496 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 498 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 500 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 502 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 504 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 506 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 508 */	NdrFcShort( 0x6fc ),	/* Type Offset=1788 */
+/* 510 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 512 */	NdrFcShort( 0x712 ),	/* Type Offset=1810 */
+/* 514 */	
+			0x50,		/* FC_IN_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 516 */	NdrFcShort( 0x724 ),	/* Type Offset=1828 */
+/* 518 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 520 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 522 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 524 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 526 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 528 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 530 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */
+/* 532 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 534 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 536 */	NdrFcShort( 0x728 ),	/* Type Offset=1832 */
+/* 538 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 540 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 542 */	NdrFcShort( 0x670 ),	/* Type Offset=1648 */
+/* 544 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 546 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 548 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 550 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 552 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 554 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 556 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 558 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 560 */	NdrFcShort( 0xa ),	/* Type Offset=10 */
+/* 562 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 564 */	NdrFcShort( 0x1c ),	/* Type Offset=28 */
+/* 566 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 568 */	NdrFcShort( 0x72c ),	/* Type Offset=1836 */
+/* 570 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 572 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 574 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 576 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 578 */	NdrFcShort( 0x736 ),	/* Type Offset=1846 */
+/* 580 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 582 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 584 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 586 */	
+			0x51,		/* FC_OUT_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 588 */	NdrFcShort( 0x40c ),	/* Type Offset=1036 */
+/* 590 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 592 */	NdrFcShort( 0x73a ),	/* Type Offset=1850 */
+/* 594 */	0x4e,		/* FC_IN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 596 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 598 */	NdrFcShort( 0x196 ),	/* Type Offset=406 */
+/* 600 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+/* 602 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 604 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */
+/* 606 */	
+			0x4d,		/* FC_IN_PARAM */
+			0x1,		/* ia64 stack size = 1 */
+/* 608 */	NdrFcShort( 0x74c ),	/* Type Offset=1868 */
+/* 610 */	0x53,		/* FC_RETURN_PARAM_BASETYPE */
+			0x8,		/* FC_LONG */
+
+			0x0
+        }
+    };
+
+static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
+    {
+        0,
+        {
+			NdrFcShort( 0x0 ),	/* 0 */
+/*  2 */	
+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */
+/*  4 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/*  6 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/*  8 */	NdrFcShort( 0x2 ),	/* Offset= 2 (10) */
+/* 10 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 12 */	NdrFcLong( 0x20401 ),	/* 132097 */
+/* 16 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 20 */	0xc0,		/* 192 */
+			0x0,		/* 0 */
+/* 22 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 24 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 26 */	0x0,		/* 0 */
+			0x46,		/* 70 */
+/* 28 */	
+			0x11, 0x0,	/* FC_RP */
+/* 30 */	NdrFcShort( 0x8 ),	/* Offset= 8 (38) */
+/* 32 */	
+			0x1d,		/* FC_SMFARRAY */
+			0x0,		/* 0 */
+/* 34 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 36 */	0x1,		/* FC_BYTE */
+			0x5b,		/* FC_END */
+/* 38 */	
+			0x15,		/* FC_STRUCT */
+			0x3,		/* 3 */
+/* 40 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 42 */	0x8,		/* FC_LONG */
+			0x6,		/* FC_SHORT */
+/* 44 */	0x6,		/* FC_SHORT */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 46 */	0x0,		/* 0 */
+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (32) */
+			0x5b,		/* FC_END */
+/* 50 */	
+			0x11, 0x0,	/* FC_RP */
+/* 52 */	NdrFcShort( 0x2 ),	/* Offset= 2 (54) */
+/* 54 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 58 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+/* 60 */	NdrFcShort( 0x18 ),	/* ia64 Stack size/offset = 24 */
+/* 62 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 66 */	
+			0x12, 0x8,	/* FC_UP [simple_pointer] */
+/* 68 */	
+			0x25,		/* FC_C_WSTRING */
+			0x5c,		/* FC_PAD */
+/* 70 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 72 */	
+			0x11, 0x0,	/* FC_RP */
+/* 74 */	NdrFcShort( 0x2 ),	/* Offset= 2 (76) */
+/* 76 */	
+			0x1b,		/* FC_CARRAY */
+			0x3,		/* 3 */
+/* 78 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 80 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+/* 82 */	NdrFcShort( 0x18 ),	/* ia64 Stack size/offset = 24 */
+/* 84 */	0x8,		/* FC_LONG */
+			0x5b,		/* FC_END */
+/* 86 */	
+			0x11, 0x0,	/* FC_RP */
+/* 88 */	NdrFcShort( 0x39e ),	/* Offset= 926 (1014) */
+/* 90 */	
+			0x12, 0x0,	/* FC_UP */
+/* 92 */	NdrFcShort( 0x360 ),	/* Offset= 864 (956) */
+/* 94 */	
+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
+			0x7,		/* FC_USHORT */
+/* 96 */	0x7,		/* Corr desc: FC_USHORT */
+			0x0,		/*  */
+/* 98 */	NdrFcShort( 0xfff8 ),	/* -8 */
+/* 100 */	NdrFcShort( 0x2 ),	/* Offset= 2 (102) */
+/* 102 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 104 */	NdrFcShort( 0x2b ),	/* 43 */
+/* 106 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 110 */	NdrFcShort( 0x0 ),	/* Offset= 0 (110) */
+/* 112 */	NdrFcLong( 0x1 ),	/* 1 */
+/* 116 */	NdrFcShort( 0x0 ),	/* Offset= 0 (116) */
+/* 118 */	NdrFcLong( 0x10 ),	/* 16 */
+/* 122 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */
+/* 124 */	NdrFcLong( 0x12 ),	/* 18 */
+/* 128 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */
+/* 130 */	NdrFcLong( 0x13 ),	/* 19 */
+/* 134 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 136 */	NdrFcLong( 0x16 ),	/* 22 */
+/* 140 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 142 */	NdrFcLong( 0x17 ),	/* 23 */
+/* 146 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 148 */	NdrFcLong( 0x11 ),	/* 17 */
+/* 152 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */
+/* 154 */	NdrFcLong( 0x2 ),	/* 2 */
+/* 158 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */
+/* 160 */	NdrFcLong( 0x3 ),	/* 3 */
+/* 164 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 166 */	NdrFcLong( 0x4 ),	/* 4 */
+/* 170 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */
+/* 172 */	NdrFcLong( 0x5 ),	/* 5 */
+/* 176 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */
+/* 178 */	NdrFcLong( 0xb ),	/* 11 */
+/* 182 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */
+/* 184 */	NdrFcLong( 0xa ),	/* 10 */
+/* 188 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 190 */	NdrFcLong( 0x7 ),	/* 7 */
+/* 194 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */
+/* 196 */	NdrFcLong( 0x8 ),	/* 8 */
+/* 200 */	NdrFcShort( 0xa6 ),	/* Offset= 166 (366) */
+/* 202 */	NdrFcLong( 0x6 ),	/* 6 */
+/* 206 */	NdrFcShort( 0xb8 ),	/* Offset= 184 (390) */
+/* 208 */	NdrFcLong( 0xe ),	/* 14 */
+/* 212 */	NdrFcShort( 0xb8 ),	/* Offset= 184 (396) */
+/* 214 */	NdrFcLong( 0xd ),	/* 13 */
+/* 218 */	NdrFcShort( 0xbc ),	/* Offset= 188 (406) */
+/* 220 */	NdrFcLong( 0x9 ),	/* 9 */
+/* 224 */	NdrFcShort( 0xc8 ),	/* Offset= 200 (424) */
+/* 226 */	NdrFcLong( 0x2000 ),	/* 8192 */
+/* 230 */	NdrFcShort( 0xd4 ),	/* Offset= 212 (442) */
+/* 232 */	NdrFcLong( 0x4010 ),	/* 16400 */
+/* 236 */	NdrFcShort( 0x294 ),	/* Offset= 660 (896) */
+/* 238 */	NdrFcLong( 0x4012 ),	/* 16402 */
+/* 242 */	NdrFcShort( 0x292 ),	/* Offset= 658 (900) */
+/* 244 */	NdrFcLong( 0x4013 ),	/* 16403 */
+/* 248 */	NdrFcShort( 0x290 ),	/* Offset= 656 (904) */
+/* 250 */	NdrFcLong( 0x4016 ),	/* 16406 */
+/* 254 */	NdrFcShort( 0x28a ),	/* Offset= 650 (904) */
+/* 256 */	NdrFcLong( 0x4017 ),	/* 16407 */
+/* 260 */	NdrFcShort( 0x284 ),	/* Offset= 644 (904) */
+/* 262 */	NdrFcLong( 0x4011 ),	/* 16401 */
+/* 266 */	NdrFcShort( 0x282 ),	/* Offset= 642 (908) */
+/* 268 */	NdrFcLong( 0x4002 ),	/* 16386 */
+/* 272 */	NdrFcShort( 0x274 ),	/* Offset= 628 (900) */
+/* 274 */	NdrFcLong( 0x4003 ),	/* 16387 */
+/* 278 */	NdrFcShort( 0x272 ),	/* Offset= 626 (904) */
+/* 280 */	NdrFcLong( 0x4004 ),	/* 16388 */
+/* 284 */	NdrFcShort( 0x274 ),	/* Offset= 628 (912) */
+/* 286 */	NdrFcLong( 0x4005 ),	/* 16389 */
+/* 290 */	NdrFcShort( 0x272 ),	/* Offset= 626 (916) */
+/* 292 */	NdrFcLong( 0x400b ),	/* 16395 */
+/* 296 */	NdrFcShort( 0x25c ),	/* Offset= 604 (900) */
+/* 298 */	NdrFcLong( 0x400a ),	/* 16394 */
+/* 302 */	NdrFcShort( 0x25a ),	/* Offset= 602 (904) */
+/* 304 */	NdrFcLong( 0x4007 ),	/* 16391 */
+/* 308 */	NdrFcShort( 0x260 ),	/* Offset= 608 (916) */
+/* 310 */	NdrFcLong( 0x4008 ),	/* 16392 */
+/* 314 */	NdrFcShort( 0x25e ),	/* Offset= 606 (920) */
+/* 316 */	NdrFcLong( 0x400c ),	/* 16396 */
+/* 320 */	NdrFcShort( 0x25c ),	/* Offset= 604 (924) */
+/* 322 */	NdrFcLong( 0x4006 ),	/* 16390 */
+/* 326 */	NdrFcShort( 0x25e ),	/* Offset= 606 (932) */
+/* 328 */	NdrFcLong( 0x400e ),	/* 16398 */
+/* 332 */	NdrFcShort( 0x25c ),	/* Offset= 604 (936) */
+/* 334 */	NdrFcLong( 0x400d ),	/* 16397 */
+/* 338 */	NdrFcShort( 0x25a ),	/* Offset= 602 (940) */
+/* 340 */	NdrFcLong( 0x4009 ),	/* 16393 */
+/* 344 */	NdrFcShort( 0x258 ),	/* Offset= 600 (944) */
+/* 346 */	NdrFcLong( 0x6000 ),	/* 24576 */
+/* 350 */	NdrFcShort( 0x256 ),	/* Offset= 598 (948) */
+/* 352 */	NdrFcLong( 0x24 ),	/* 36 */
+/* 356 */	NdrFcShort( 0x254 ),	/* Offset= 596 (952) */
+/* 358 */	NdrFcLong( 0x4024 ),	/* 16420 */
+/* 362 */	NdrFcShort( 0x24e ),	/* Offset= 590 (952) */
+/* 364 */	NdrFcShort( 0xffff ),	/* Offset= -1 (363) */
+/* 366 */	
+			0x12, 0x0,	/* FC_UP */
+/* 368 */	NdrFcShort( 0xc ),	/* Offset= 12 (380) */
+/* 370 */	
+			0x1b,		/* FC_CARRAY */
+			0x1,		/* 1 */
+/* 372 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 374 */	0x9,		/* Corr desc: FC_ULONG */
+			0x0,		/*  */
+/* 376 */	NdrFcShort( 0xfffc ),	/* -4 */
+/* 378 */	0x6,		/* FC_SHORT */
+			0x5b,		/* FC_END */
+/* 380 */	
+			0x17,		/* FC_CSTRUCT */
+			0x3,		/* 3 */
+/* 382 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 384 */	NdrFcShort( 0xfff2 ),	/* Offset= -14 (370) */
+/* 386 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 388 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 390 */	
+			0x15,		/* FC_STRUCT */
+			0x7,		/* 7 */
+/* 392 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 394 */	0xb,		/* FC_HYPER */
+			0x5b,		/* FC_END */
+/* 396 */	
+			0x15,		/* FC_STRUCT */
+			0x7,		/* 7 */
+/* 398 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 400 */	0x6,		/* FC_SHORT */
+			0x1,		/* FC_BYTE */
+/* 402 */	0x1,		/* FC_BYTE */
+			0x8,		/* FC_LONG */
+/* 404 */	0xb,		/* FC_HYPER */
+			0x5b,		/* FC_END */
+/* 406 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 408 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 412 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 414 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 416 */	0xc0,		/* 192 */
+			0x0,		/* 0 */
+/* 418 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 420 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 422 */	0x0,		/* 0 */
+			0x46,		/* 70 */
+/* 424 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 426 */	NdrFcLong( 0x20400 ),	/* 132096 */
+/* 430 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 432 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 434 */	0xc0,		/* 192 */
+			0x0,		/* 0 */
+/* 436 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 438 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 440 */	0x0,		/* 0 */
+			0x46,		/* 70 */
+/* 442 */	
+			0x12, 0x0,	/* FC_UP */
+/* 444 */	NdrFcShort( 0x1b2 ),	/* Offset= 434 (878) */
+/* 446 */	
+			0x2a,		/* FC_ENCAPSULATED_UNION */
+			0x89,		/* 137 */
+/* 448 */	NdrFcShort( 0x20 ),	/* 32 */
+/* 450 */	NdrFcShort( 0xa ),	/* 10 */
+/* 452 */	NdrFcLong( 0x8 ),	/* 8 */
+/* 456 */	NdrFcShort( 0x4c ),	/* Offset= 76 (532) */
+/* 458 */	NdrFcLong( 0xd ),	/* 13 */
+/* 462 */	NdrFcShort( 0x68 ),	/* Offset= 104 (566) */
+/* 464 */	NdrFcLong( 0x9 ),	/* 9 */
+/* 468 */	NdrFcShort( 0x84 ),	/* Offset= 132 (600) */
+/* 470 */	NdrFcLong( 0xc ),	/* 12 */
+/* 474 */	NdrFcShort( 0xa0 ),	/* Offset= 160 (634) */
+/* 476 */	NdrFcLong( 0x24 ),	/* 36 */
+/* 480 */	NdrFcShort( 0xec ),	/* Offset= 236 (716) */
+/* 482 */	NdrFcLong( 0x800d ),	/* 32781 */
+/* 486 */	NdrFcShort( 0xf6 ),	/* Offset= 246 (732) */
+/* 488 */	NdrFcLong( 0x10 ),	/* 16 */
+/* 492 */	NdrFcShort( 0x10e ),	/* Offset= 270 (762) */
+/* 494 */	NdrFcLong( 0x2 ),	/* 2 */
+/* 498 */	NdrFcShort( 0x122 ),	/* Offset= 290 (788) */
+/* 500 */	NdrFcLong( 0x3 ),	/* 3 */
+/* 504 */	NdrFcShort( 0x136 ),	/* Offset= 310 (814) */
+/* 506 */	NdrFcLong( 0x14 ),	/* 20 */
+/* 510 */	NdrFcShort( 0x14a ),	/* Offset= 330 (840) */
+/* 512 */	NdrFcShort( 0xffff ),	/* Offset= -1 (511) */
+/* 514 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 516 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 518 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 520 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 522 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 526 */	
+			0x12, 0x0,	/* FC_UP */
+/* 528 */	NdrFcShort( 0xff6c ),	/* Offset= -148 (380) */
+/* 530 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 532 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 534 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 536 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 538 */	NdrFcShort( 0x6 ),	/* Offset= 6 (544) */
+/* 540 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 542 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 544 */	
+			0x11, 0x0,	/* FC_RP */
+/* 546 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (514) */
+/* 548 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 550 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 552 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 554 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 556 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 560 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 562 */	NdrFcShort( 0xff64 ),	/* Offset= -156 (406) */
+/* 564 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 566 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 568 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 570 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 572 */	NdrFcShort( 0x6 ),	/* Offset= 6 (578) */
+/* 574 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 576 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 578 */	
+			0x11, 0x0,	/* FC_RP */
+/* 580 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (548) */
+/* 582 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 584 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 586 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 588 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 590 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 594 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 596 */	NdrFcShort( 0xff54 ),	/* Offset= -172 (424) */
+/* 598 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 600 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 602 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 604 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 606 */	NdrFcShort( 0x6 ),	/* Offset= 6 (612) */
+/* 608 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 610 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 612 */	
+			0x11, 0x0,	/* FC_RP */
+/* 614 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (582) */
+/* 616 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 618 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 620 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 622 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 624 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 628 */	
+			0x12, 0x0,	/* FC_UP */
+/* 630 */	NdrFcShort( 0x146 ),	/* Offset= 326 (956) */
+/* 632 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 634 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 636 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 638 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 640 */	NdrFcShort( 0x6 ),	/* Offset= 6 (646) */
+/* 642 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 644 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 646 */	
+			0x11, 0x0,	/* FC_RP */
+/* 648 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (616) */
+/* 650 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 652 */	NdrFcLong( 0x2f ),	/* 47 */
+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 658 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 660 */	0xc0,		/* 192 */
+			0x0,		/* 0 */
+/* 662 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 664 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 666 */	0x0,		/* 0 */
+			0x46,		/* 70 */
+/* 668 */	
+			0x1b,		/* FC_CARRAY */
+			0x0,		/* 0 */
+/* 670 */	NdrFcShort( 0x1 ),	/* 1 */
+/* 672 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 674 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 676 */	0x1,		/* FC_BYTE */
+			0x5b,		/* FC_END */
+/* 678 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 680 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 682 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 684 */	NdrFcShort( 0xa ),	/* Offset= 10 (694) */
+/* 686 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 688 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 690 */	NdrFcShort( 0xffd8 ),	/* Offset= -40 (650) */
+/* 692 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 694 */	
+			0x12, 0x0,	/* FC_UP */
+/* 696 */	NdrFcShort( 0xffe4 ),	/* Offset= -28 (668) */
+/* 698 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 702 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 706 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 710 */	
+			0x12, 0x0,	/* FC_UP */
+/* 712 */	NdrFcShort( 0xffde ),	/* Offset= -34 (678) */
+/* 714 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 716 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 718 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 720 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 722 */	NdrFcShort( 0x6 ),	/* Offset= 6 (728) */
+/* 724 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 726 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 728 */	
+			0x11, 0x0,	/* FC_RP */
+/* 730 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (698) */
+/* 732 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 734 */	NdrFcShort( 0x20 ),	/* 32 */
+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 738 */	NdrFcShort( 0xa ),	/* Offset= 10 (748) */
+/* 740 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 742 */	0x36,		/* FC_POINTER */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 744 */	0x0,		/* 0 */
+			NdrFcShort( 0xfd3d ),	/* Offset= -707 (38) */
+			0x5b,		/* FC_END */
+/* 748 */	
+			0x11, 0x0,	/* FC_RP */
+/* 750 */	NdrFcShort( 0xff36 ),	/* Offset= -202 (548) */
+/* 752 */	
+			0x1b,		/* FC_CARRAY */
+			0x0,		/* 0 */
+/* 754 */	NdrFcShort( 0x1 ),	/* 1 */
+/* 756 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 760 */	0x1,		/* FC_BYTE */
+			0x5b,		/* FC_END */
+/* 762 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 764 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 766 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 768 */	NdrFcShort( 0x6 ),	/* Offset= 6 (774) */
+/* 770 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 772 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 774 */	
+			0x12, 0x0,	/* FC_UP */
+/* 776 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (752) */
+/* 778 */	
+			0x1b,		/* FC_CARRAY */
+			0x1,		/* 1 */
+/* 780 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 782 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 786 */	0x6,		/* FC_SHORT */
+			0x5b,		/* FC_END */
+/* 788 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 790 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 792 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 794 */	NdrFcShort( 0x6 ),	/* Offset= 6 (800) */
+/* 796 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 798 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 800 */	
+			0x12, 0x0,	/* FC_UP */
+/* 802 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (778) */
+/* 804 */	
+			0x1b,		/* FC_CARRAY */
+			0x3,		/* 3 */
+/* 806 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 808 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 810 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 812 */	0x8,		/* FC_LONG */
+			0x5b,		/* FC_END */
+/* 814 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 816 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 818 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 820 */	NdrFcShort( 0x6 ),	/* Offset= 6 (826) */
+/* 822 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 824 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 826 */	
+			0x12, 0x0,	/* FC_UP */
+/* 828 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (804) */
+/* 830 */	
+			0x1b,		/* FC_CARRAY */
+			0x7,		/* 7 */
+/* 832 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 834 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 836 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 838 */	0xb,		/* FC_HYPER */
+			0x5b,		/* FC_END */
+/* 840 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 842 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 844 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 846 */	NdrFcShort( 0x6 ),	/* Offset= 6 (852) */
+/* 848 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 850 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 852 */	
+			0x12, 0x0,	/* FC_UP */
+/* 854 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (830) */
+/* 856 */	
+			0x15,		/* FC_STRUCT */
+			0x3,		/* 3 */
+/* 858 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 860 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 862 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 864 */	
+			0x1b,		/* FC_CARRAY */
+			0x3,		/* 3 */
+/* 866 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 868 */	0x7,		/* Corr desc: FC_USHORT */
+			0x0,		/*  */
+/* 870 */	NdrFcShort( 0xffc8 ),	/* -56 */
+/* 872 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 874 */	NdrFcShort( 0xffee ),	/* Offset= -18 (856) */
+/* 876 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 878 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 880 */	NdrFcShort( 0x38 ),	/* 56 */
+/* 882 */	NdrFcShort( 0xffee ),	/* Offset= -18 (864) */
+/* 884 */	NdrFcShort( 0x0 ),	/* Offset= 0 (884) */
+/* 886 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 888 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 890 */	0x40,		/* FC_STRUCTPAD4 */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 892 */	0x0,		/* 0 */
+			NdrFcShort( 0xfe41 ),	/* Offset= -447 (446) */
+			0x5b,		/* FC_END */
+/* 896 */	
+			0x12, 0x8,	/* FC_UP [simple_pointer] */
+/* 898 */	0x2,		/* FC_CHAR */
+			0x5c,		/* FC_PAD */
+/* 900 */	
+			0x12, 0x8,	/* FC_UP [simple_pointer] */
+/* 902 */	0x6,		/* FC_SHORT */
+			0x5c,		/* FC_PAD */
+/* 904 */	
+			0x12, 0x8,	/* FC_UP [simple_pointer] */
+/* 906 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/* 908 */	
+			0x12, 0x8,	/* FC_UP [simple_pointer] */
+/* 910 */	0x1,		/* FC_BYTE */
+			0x5c,		/* FC_PAD */
+/* 912 */	
+			0x12, 0x8,	/* FC_UP [simple_pointer] */
+/* 914 */	0xa,		/* FC_FLOAT */
+			0x5c,		/* FC_PAD */
+/* 916 */	
+			0x12, 0x8,	/* FC_UP [simple_pointer] */
+/* 918 */	0xc,		/* FC_DOUBLE */
+			0x5c,		/* FC_PAD */
+/* 920 */	
+			0x12, 0x10,	/* FC_UP [pointer_deref] */
+/* 922 */	NdrFcShort( 0xfdd4 ),	/* Offset= -556 (366) */
+/* 924 */	
+			0x12, 0x10,	/* FC_UP [pointer_deref] */
+/* 926 */	NdrFcShort( 0x2 ),	/* Offset= 2 (928) */
+/* 928 */	
+			0x12, 0x0,	/* FC_UP */
+/* 930 */	NdrFcShort( 0x1a ),	/* Offset= 26 (956) */
+/* 932 */	
+			0x12, 0x0,	/* FC_UP */
+/* 934 */	NdrFcShort( 0xfde0 ),	/* Offset= -544 (390) */
+/* 936 */	
+			0x12, 0x0,	/* FC_UP */
+/* 938 */	NdrFcShort( 0xfde2 ),	/* Offset= -542 (396) */
+/* 940 */	
+			0x12, 0x10,	/* FC_UP [pointer_deref] */
+/* 942 */	NdrFcShort( 0xfde8 ),	/* Offset= -536 (406) */
+/* 944 */	
+			0x12, 0x10,	/* FC_UP [pointer_deref] */
+/* 946 */	NdrFcShort( 0xfdf6 ),	/* Offset= -522 (424) */
+/* 948 */	
+			0x12, 0x10,	/* FC_UP [pointer_deref] */
+/* 950 */	NdrFcShort( 0xfe04 ),	/* Offset= -508 (442) */
+/* 952 */	
+			0x12, 0x0,	/* FC_UP */
+/* 954 */	NdrFcShort( 0xfeec ),	/* Offset= -276 (678) */
+/* 956 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x7,		/* 7 */
+/* 958 */	NdrFcShort( 0x20 ),	/* 32 */
+/* 960 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 962 */	NdrFcShort( 0x0 ),	/* Offset= 0 (962) */
+/* 964 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 966 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 968 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 970 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 972 */	NdrFcShort( 0xfc92 ),	/* Offset= -878 (94) */
+/* 974 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 976 */	0xb4,		/* FC_USER_MARSHAL */
+			0x83,		/* 131 */
+/* 978 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 980 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 982 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 984 */	NdrFcShort( 0xfc82 ),	/* Offset= -894 (90) */
+/* 986 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 988 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 990 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 992 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 994 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 998 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1000 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (976) */
+/* 1002 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1004 */	
+			0x1b,		/* FC_CARRAY */
+			0x3,		/* 3 */
+/* 1006 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1008 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 1010 */	NdrFcShort( 0x14 ),	/* 20 */
+/* 1012 */	0x8,		/* FC_LONG */
+			0x5b,		/* FC_END */
+/* 1014 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1016 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 1018 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1020 */	NdrFcShort( 0x8 ),	/* Offset= 8 (1028) */
+/* 1022 */	0x36,		/* FC_POINTER */
+			0x36,		/* FC_POINTER */
+/* 1024 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 1026 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1028 */	
+			0x12, 0x0,	/* FC_UP */
+/* 1030 */	NdrFcShort( 0xffd4 ),	/* Offset= -44 (986) */
+/* 1032 */	
+			0x12, 0x0,	/* FC_UP */
+/* 1034 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (1004) */
+/* 1036 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1038 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1044) */
+/* 1040 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1042 */	NdrFcShort( 0xffaa ),	/* Offset= -86 (956) */
+/* 1044 */	0xb4,		/* FC_USER_MARSHAL */
+			0x83,		/* 131 */
+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1048 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 1050 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1052 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1040) */
+/* 1054 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1056 */	NdrFcShort( 0x10 ),	/* Offset= 16 (1072) */
+/* 1058 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1060 */	NdrFcShort( 0xfd58 ),	/* Offset= -680 (380) */
+/* 1062 */	0xb4,		/* FC_USER_MARSHAL */
+			0x83,		/* 131 */
+/* 1064 */	NdrFcShort( 0x1 ),	/* 1 */
+/* 1066 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 1068 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1070 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1058) */
+/* 1072 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1074 */	NdrFcShort( 0x30 ),	/* 48 */
+/* 1076 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1078 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1078) */
+/* 1080 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 1082 */	0x40,		/* FC_STRUCTPAD4 */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 1084 */	0x0,		/* 0 */
+			NdrFcShort( 0xffe9 ),	/* Offset= -23 (1062) */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 1088 */	0x0,		/* 0 */
+			NdrFcShort( 0xffe5 ),	/* Offset= -27 (1062) */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 1092 */	0x0,		/* 0 */
+			NdrFcShort( 0xffe1 ),	/* Offset= -31 (1062) */
+			0x8,		/* FC_LONG */
+/* 1096 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 1098 */	0x8,		/* FC_LONG */
+			0x5b,		/* FC_END */
+/* 1100 */	
+			0x11, 0x0,	/* FC_RP */
+/* 1102 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1104) */
+/* 1104 */	
+			0x1b,		/* FC_CARRAY */
+			0x3,		/* 3 */
+/* 1106 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1108 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+/* 1110 */	NdrFcShort( 0x48 ),	/* ia64 Stack size/offset = 72 */
+/* 1112 */	0x8,		/* FC_LONG */
+			0x5b,		/* FC_END */
+/* 1114 */	
+			0x11, 0x0,	/* FC_RP */
+/* 1116 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1118) */
+/* 1118 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 1120 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1122 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+/* 1124 */	NdrFcShort( 0x48 ),	/* ia64 Stack size/offset = 72 */
+/* 1126 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 1130 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1132 */	NdrFcShort( 0xffa8 ),	/* Offset= -88 (1044) */
+/* 1134 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1136 */	
+			0x11, 0x0,	/* FC_RP */
+/* 1138 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1140) */
+/* 1140 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 1142 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1144 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+/* 1146 */	NdrFcShort( 0x8 ),	/* ia64 Stack size/offset = 8 */
+/* 1148 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x54,		/* FC_DEREFERENCE */
+/* 1150 */	NdrFcShort( 0x18 ),	/* ia64 Stack size/offset = 24 */
+/* 1152 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1154 */	NdrFcShort( 0xff92 ),	/* Offset= -110 (1044) */
+/* 1156 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1158 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1160 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1162) */
+/* 1162 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 1164 */	NdrFcLong( 0x20404 ),	/* 132100 */
+/* 1168 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1170 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1172 */	0xc0,		/* 192 */
+			0x0,		/* 0 */
+/* 1174 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 1176 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 1178 */	0x0,		/* 0 */
+			0x46,		/* 70 */
+/* 1180 */	
+			0x11, 0x8,	/* FC_RP [simple_pointer] */
+/* 1182 */	
+			0x25,		/* FC_C_WSTRING */
+			0x5c,		/* FC_PAD */
+/* 1184 */	
+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */
+/* 1186 */	0xe,		/* FC_ENUM32 */
+			0x5c,		/* FC_PAD */
+/* 1188 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1190 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1192) */
+/* 1192 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1194 */	NdrFcShort( 0xac ),	/* Offset= 172 (1366) */
+/* 1196 */	
+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
+			0x7,		/* FC_USHORT */
+/* 1198 */	0x7,		/* Corr desc: FC_USHORT */
+			0x0,		/*  */
+/* 1200 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 1202 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1204) */
+/* 1204 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 1206 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1208 */	NdrFcLong( 0x1a ),	/* 26 */
+/* 1212 */	NdrFcShort( 0x16 ),	/* Offset= 22 (1234) */
+/* 1214 */	NdrFcLong( 0x1b ),	/* 27 */
+/* 1218 */	NdrFcShort( 0x10 ),	/* Offset= 16 (1234) */
+/* 1220 */	NdrFcLong( 0x1c ),	/* 28 */
+/* 1224 */	NdrFcShort( 0xe ),	/* Offset= 14 (1238) */
+/* 1226 */	NdrFcLong( 0x1d ),	/* 29 */
+/* 1230 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 1232 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1232) */
+/* 1234 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1236 */	NdrFcShort( 0x24 ),	/* Offset= 36 (1272) */
+/* 1238 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1240 */	NdrFcShort( 0x10 ),	/* Offset= 16 (1256) */
+/* 1242 */	
+			0x1b,		/* FC_CARRAY */
+			0x3,		/* 3 */
+/* 1244 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 1246 */	0x7,		/* Corr desc: FC_USHORT */
+			0x0,		/*  */
+/* 1248 */	NdrFcShort( 0xfffc ),	/* -4 */
+/* 1250 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1252 */	NdrFcShort( 0xfe74 ),	/* Offset= -396 (856) */
+/* 1254 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1256 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1258 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1260 */	NdrFcShort( 0xffee ),	/* Offset= -18 (1242) */
+/* 1262 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1262) */
+/* 1264 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1266 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1272) */
+/* 1268 */	0x6,		/* FC_SHORT */
+			0x3e,		/* FC_STRUCTPAD2 */
+/* 1270 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1272 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1274 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 1276 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1278 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1278) */
+/* 1280 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1282 */	NdrFcShort( 0xffaa ),	/* Offset= -86 (1196) */
+/* 1284 */	0x6,		/* FC_SHORT */
+			0x42,		/* FC_STRUCTPAD6 */
+/* 1286 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1288 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1290 */	NdrFcShort( 0x20 ),	/* 32 */
+/* 1292 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1294 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1294) */
+/* 1296 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 1298 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1300 */	NdrFcShort( 0xff00 ),	/* Offset= -256 (1044) */
+/* 1302 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1304 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1306 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 1308 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1310 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1316) */
+/* 1312 */	0x36,		/* FC_POINTER */
+			0x6,		/* FC_SHORT */
+/* 1314 */	0x42,		/* FC_STRUCTPAD6 */
+			0x5b,		/* FC_END */
+/* 1316 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1318 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (1288) */
+/* 1320 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1322 */	NdrFcShort( 0x20 ),	/* 32 */
+/* 1324 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1326 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1326) */
+/* 1328 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1330 */	NdrFcShort( 0xffc6 ),	/* Offset= -58 (1272) */
+/* 1332 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1334 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (1304) */
+/* 1336 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1338 */	
+			0x1b,		/* FC_CARRAY */
+			0x3,		/* 3 */
+/* 1340 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1342 */	0x16,		/* Corr desc:  field pointer, FC_SHORT */
+			0x0,		/*  */
+/* 1344 */	NdrFcShort( 0x2a ),	/* 42 */
+/* 1346 */	0x8,		/* FC_LONG */
+			0x5b,		/* FC_END */
+/* 1348 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 1350 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1352 */	0x16,		/* Corr desc:  field pointer, FC_SHORT */
+			0x0,		/*  */
+/* 1354 */	NdrFcShort( 0x24 ),	/* 36 */
+/* 1356 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 1360 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1362 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (1320) */
+/* 1364 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1366 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1368 */	NdrFcShort( 0x58 ),	/* 88 */
+/* 1370 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1372 */	NdrFcShort( 0x16 ),	/* Offset= 22 (1394) */
+/* 1374 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 1376 */	0x36,		/* FC_POINTER */
+			0x36,		/* FC_POINTER */
+/* 1378 */	0xe,		/* FC_ENUM32 */
+			0xe,		/* FC_ENUM32 */
+/* 1380 */	0xe,		/* FC_ENUM32 */
+			0x6,		/* FC_SHORT */
+/* 1382 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 1384 */	0x6,		/* FC_SHORT */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 1386 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1388 */	NdrFcShort( 0xffbc ),	/* Offset= -68 (1320) */
+/* 1390 */	0x6,		/* FC_SHORT */
+			0x42,		/* FC_STRUCTPAD6 */
+/* 1392 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1394 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1396 */	NdrFcShort( 0xffc6 ),	/* Offset= -58 (1338) */
+/* 1398 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1400 */	NdrFcShort( 0xffcc ),	/* Offset= -52 (1348) */
+/* 1402 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1404 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1406) */
+/* 1406 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1408 */	NdrFcShort( 0x2c ),	/* Offset= 44 (1452) */
+/* 1410 */	
+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */
+			0x8,		/* FC_LONG */
+/* 1412 */	0x8,		/* Corr desc: FC_LONG */
+			0x0,		/*  */
+/* 1414 */	NdrFcShort( 0x2c ),	/* 44 */
+/* 1416 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1418) */
+/* 1418 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 1420 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1422 */	NdrFcLong( 0x0 ),	/* 0 */
+/* 1426 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 1428 */	NdrFcLong( 0x3 ),	/* 3 */
+/* 1432 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 1434 */	NdrFcLong( 0x1 ),	/* 1 */
+/* 1438 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */
+/* 1440 */	NdrFcLong( 0x2 ),	/* 2 */
+/* 1444 */	NdrFcShort( 0x4 ),	/* Offset= 4 (1448) */
+/* 1446 */	NdrFcShort( 0xffff ),	/* Offset= -1 (1445) */
+/* 1448 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1450 */	NdrFcShort( 0xfe6a ),	/* Offset= -406 (1044) */
+/* 1452 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1454 */	NdrFcShort( 0x40 ),	/* 64 */
+/* 1456 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1458 */	NdrFcShort( 0x12 ),	/* Offset= 18 (1476) */
+/* 1460 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 1462 */	0x36,		/* FC_POINTER */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 1464 */	0x0,		/* 0 */
+			NdrFcShort( 0xffc9 ),	/* Offset= -55 (1410) */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 1468 */	0x0,		/* 0 */
+			NdrFcShort( 0xff6b ),	/* Offset= -149 (1320) */
+			0x6,		/* FC_SHORT */
+/* 1472 */	0x3e,		/* FC_STRUCTPAD2 */
+			0xe,		/* FC_ENUM32 */
+/* 1474 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1476 */	
+			0x13, 0x8,	/* FC_OP [simple_pointer] */
+/* 1478 */	
+			0x25,		/* FC_C_WSTRING */
+			0x5c,		/* FC_PAD */
+/* 1480 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1482 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1484) */
+/* 1484 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 1486 */	NdrFcLong( 0x20403 ),	/* 132099 */
+/* 1490 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1492 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1494 */	0xc0,		/* 192 */
+			0x0,		/* 0 */
+/* 1496 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 1498 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 1500 */	0x0,		/* 0 */
+			0x46,		/* 70 */
+/* 1502 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1504 */	NdrFcShort( 0x4 ),	/* Offset= 4 (1508) */
+/* 1506 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/* 1508 */	0xb4,		/* FC_USER_MARSHAL */
+			0x3,		/* 3 */
+/* 1510 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 1512 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 1514 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1516 */	NdrFcShort( 0xfff6 ),	/* Offset= -10 (1506) */
+/* 1518 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1520 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1522) */
+/* 1522 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1524 */	NdrFcShort( 0xe ),	/* Offset= 14 (1538) */
+/* 1526 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1528 */	NdrFcShort( 0x8 ),	/* 8 */
+/* 1530 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1532 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1532) */
+/* 1534 */	0x8,		/* FC_LONG */
+			0x6,		/* FC_SHORT */
+/* 1536 */	0x3e,		/* FC_STRUCTPAD2 */
+			0x5b,		/* FC_END */
+/* 1538 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1540 */	NdrFcShort( 0x58 ),	/* 88 */
+/* 1542 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1544 */	NdrFcShort( 0x1e ),	/* Offset= 30 (1574) */
+/* 1546 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1548 */	NdrFcShort( 0xfa1a ),	/* Offset= -1510 (38) */
+/* 1550 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 1552 */	0x8,		/* FC_LONG */
+			0x8,		/* FC_LONG */
+/* 1554 */	0x36,		/* FC_POINTER */
+			0x8,		/* FC_LONG */
+/* 1556 */	0xe,		/* FC_ENUM32 */
+			0x6,		/* FC_SHORT */
+/* 1558 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 1560 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 1562 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 1564 */	0x6,		/* FC_SHORT */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 1566 */	0x0,		/* 0 */
+			NdrFcShort( 0xfed9 ),	/* Offset= -295 (1272) */
+			0x4c,		/* FC_EMBEDDED_COMPLEX */
+/* 1570 */	0x0,		/* 0 */
+			NdrFcShort( 0xffd3 ),	/* Offset= -45 (1526) */
+			0x5b,		/* FC_END */
+/* 1574 */	
+			0x13, 0x8,	/* FC_OP [simple_pointer] */
+/* 1576 */	
+			0x25,		/* FC_C_WSTRING */
+			0x5c,		/* FC_PAD */
+/* 1578 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1580 */	NdrFcShort( 0x4 ),	/* Offset= 4 (1584) */
+/* 1582 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/* 1584 */	0xb4,		/* FC_USER_MARSHAL */
+			0x3,		/* 3 */
+/* 1586 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 1588 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 1590 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1592 */	NdrFcShort( 0xfff6 ),	/* Offset= -10 (1582) */
+/* 1594 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1596 */	NdrFcShort( 0x4 ),	/* Offset= 4 (1600) */
+/* 1598 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/* 1600 */	0xb4,		/* FC_USER_MARSHAL */
+			0x3,		/* 3 */
+/* 1602 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 1604 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 1606 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1608 */	NdrFcShort( 0xfff6 ),	/* Offset= -10 (1598) */
+/* 1610 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1612 */	NdrFcShort( 0x4 ),	/* Offset= 4 (1616) */
+/* 1614 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/* 1616 */	0xb4,		/* FC_USER_MARSHAL */
+			0x3,		/* 3 */
+/* 1618 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 1620 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 1622 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1624 */	NdrFcShort( 0xfff6 ),	/* Offset= -10 (1614) */
+/* 1626 */	
+			0x11, 0x0,	/* FC_RP */
+/* 1628 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1630) */
+/* 1630 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 1632 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1634 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x0,		/*  */
+/* 1636 */	NdrFcShort( 0x18 ),	/* ia64 Stack size/offset = 24 */
+/* 1638 */	0x29,		/* Corr desc:  parameter, FC_ULONG */
+			0x54,		/* FC_DEREFERENCE */
+/* 1640 */	NdrFcShort( 0x20 ),	/* ia64 Stack size/offset = 32 */
+/* 1642 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1644 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (1062) */
+/* 1646 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1648 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1650 */	NdrFcShort( 0xfdb4 ),	/* Offset= -588 (1062) */
+/* 1652 */	
+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */
+/* 1654 */	0x6,		/* FC_SHORT */
+			0x5c,		/* FC_PAD */
+/* 1656 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1658 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1660) */
+/* 1660 */	
+			0x2f,		/* FC_IP */
+			0x5c,		/* FC_PAD */
+/* 1662 */	0x2b,		/* Corr desc:  parameter, FC_HYPER */
+			0x0,		/*  */
+/* 1664 */	NdrFcShort( 0x8 ),	/* ia64 Stack size/offset = 8 */
+/* 1666 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1668 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1670) */
+/* 1670 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 1672 */	NdrFcLong( 0x20402 ),	/* 132098 */
+/* 1676 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1678 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1680 */	0xc0,		/* 192 */
+			0x0,		/* 0 */
+/* 1682 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 1684 */	0x0,		/* 0 */
+			0x0,		/* 0 */
+/* 1686 */	0x0,		/* 0 */
+			0x46,		/* 70 */
+/* 1688 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1690 */	NdrFcShort( 0x26 ),	/* Offset= 38 (1728) */
+/* 1692 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1694 */	NdrFcShort( 0x28 ),	/* 40 */
+/* 1696 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1698 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1698) */
+/* 1700 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1702 */	NdrFcShort( 0xf980 ),	/* Offset= -1664 (38) */
+/* 1704 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1706 */	NdrFcShort( 0xfd6a ),	/* Offset= -662 (1044) */
+/* 1708 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1710 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 1712 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1714 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */
+			0x0,		/*  */
+/* 1716 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1718 */	NdrFcLong( 0xffffffff ),	/* -1 */
+/* 1722 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1724 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (1692) */
+/* 1726 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1728 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1730 */	NdrFcShort( 0x10 ),	/* 16 */
+/* 1732 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1734 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1740) */
+/* 1736 */	0x8,		/* FC_LONG */
+			0x40,		/* FC_STRUCTPAD4 */
+/* 1738 */	0x36,		/* FC_POINTER */
+			0x5b,		/* FC_END */
+/* 1740 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1742 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (1710) */
+/* 1744 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1746 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1748) */
+/* 1748 */	
+			0x13, 0x0,	/* FC_OP */
+/* 1750 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1752) */
+/* 1752 */	
+			0x1a,		/* FC_BOGUS_STRUCT */
+			0x3,		/* 3 */
+/* 1754 */	NdrFcShort( 0x20 ),	/* 32 */
+/* 1756 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1758 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1758) */
+/* 1760 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1762 */	NdrFcShort( 0xf944 ),	/* Offset= -1724 (38) */
+/* 1764 */	0x8,		/* FC_LONG */
+			0xe,		/* FC_ENUM32 */
+/* 1766 */	0x6,		/* FC_SHORT */
+			0x6,		/* FC_SHORT */
+/* 1768 */	0x6,		/* FC_SHORT */
+			0x3e,		/* FC_STRUCTPAD2 */
+/* 1770 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1772 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1774 */	NdrFcShort( 0x4 ),	/* Offset= 4 (1778) */
+/* 1776 */	0x8,		/* FC_LONG */
+			0x5c,		/* FC_PAD */
+/* 1778 */	0xb4,		/* FC_USER_MARSHAL */
+			0x3,		/* 3 */
+/* 1780 */	NdrFcShort( 0x2 ),	/* 2 */
+/* 1782 */	NdrFcShort( 0x18 ),	/* 24 */
+/* 1784 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1786 */	NdrFcShort( 0xfff6 ),	/* Offset= -10 (1776) */
+/* 1788 */	
+			0x11, 0x0,	/* FC_RP */
+/* 1790 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1792) */
+/* 1792 */	
+			0x21,		/* FC_BOGUS_ARRAY */
+			0x3,		/* 3 */
+/* 1794 */	NdrFcShort( 0x0 ),	/* 0 */
+/* 1796 */	0x27,		/* Corr desc:  parameter, FC_USHORT */
+			0x54,		/* FC_DEREFERENCE */
+/* 1798 */	NdrFcShort( 0x28 ),	/* ia64 Stack size/offset = 40 */
+/* 1800 */	0x27,		/* Corr desc:  parameter, FC_USHORT */
+			0x54,		/* FC_DEREFERENCE */
+/* 1802 */	NdrFcShort( 0x28 ),	/* ia64 Stack size/offset = 40 */
+/* 1804 */	0x4c,		/* FC_EMBEDDED_COMPLEX */
+			0x0,		/* 0 */
+/* 1806 */	NdrFcShort( 0xf8fc ),	/* Offset= -1796 (10) */
+/* 1808 */	0x5c,		/* FC_PAD */
+			0x5b,		/* FC_END */
+/* 1810 */	
+			0x11, 0x0,	/* FC_RP */
+/* 1812 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1814) */
+/* 1814 */	
+			0x1c,		/* FC_CVARRAY */
+			0x3,		/* 3 */
+/* 1816 */	NdrFcShort( 0x4 ),	/* 4 */
+/* 1818 */	0x27,		/* Corr desc:  parameter, FC_USHORT */
+			0x54,		/* FC_DEREFERENCE */
+/* 1820 */	NdrFcShort( 0x28 ),	/* ia64 Stack size/offset = 40 */
+/* 1822 */	0x27,		/* Corr desc:  parameter, FC_USHORT */
+			0x54,		/* FC_DEREFERENCE */
+/* 1824 */	NdrFcShort( 0x28 ),	/* ia64 Stack size/offset = 40 */
+/* 1826 */	0x8,		/* FC_LONG */
+			0x5b,		/* FC_END */
+/* 1828 */	
+			0x11, 0x8,	/* FC_RP [simple_pointer] */
+/* 1830 */	0x6,		/* FC_SHORT */
+			0x5c,		/* FC_PAD */
+/* 1832 */	
+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */
+/* 1834 */	NdrFcShort( 0xf8fc ),	/* Offset= -1796 (38) */
+/* 1836 */	
+			0x11, 0x14,	/* FC_RP [alloced_on_stack] [pointer_deref] */
+/* 1838 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1840) */
+/* 1840 */	
+			0x2f,		/* FC_IP */
+			0x5c,		/* FC_PAD */
+/* 1842 */	0x2b,		/* Corr desc:  parameter, FC_HYPER */
+			0x0,		/*  */
+/* 1844 */	NdrFcShort( 0x10 ),	/* ia64 Stack size/offset = 16 */
+/* 1846 */	
+			0x11, 0x0,	/* FC_RP */
+/* 1848 */	NdrFcShort( 0xfcf8 ),	/* Offset= -776 (1072) */
+/* 1850 */	
+			0x2f,		/* FC_IP */
+			0x5a,		/* FC_CONSTANT_IID */
+/* 1852 */	NdrFcLong( 0x3127ca40 ),	/* 824691264 */
+/* 1856 */	NdrFcShort( 0x446e ),	/* 17518 */
+/* 1858 */	NdrFcShort( 0x11ce ),	/* 4558 */
+/* 1860 */	0x81,		/* 129 */
+			0x35,		/* 53 */
+/* 1862 */	0x0,		/* 0 */
+			0xaa,		/* 170 */
+/* 1864 */	0x0,		/* 0 */
+			0x4b,		/* 75 */
+/* 1866 */	0xb8,		/* 184 */
+			0x51,		/* 81 */
+/* 1868 */	0x11, 0x0,	/* FC_RP */
+/* 1870 */	NdrFcShort( 0xfc82 ),	/* Offset= -894 (976) */
+
+			0x0
+        }
+    };
+
+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 
+        {
+
+            {
+            (USER_MARSHAL_SIZING_ROUTINE)VARIANT_UserSize
+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)VARIANT_UserMarshal
+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)VARIANT_UserUnmarshal
+            ,(USER_MARSHAL_FREEING_ROUTINE)VARIANT_UserFree
+            },
+            {
+            (USER_MARSHAL_SIZING_ROUTINE)BSTR_UserSize
+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)BSTR_UserMarshal
+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)BSTR_UserUnmarshal
+            ,(USER_MARSHAL_FREEING_ROUTINE)BSTR_UserFree
+            },
+            {
+            (USER_MARSHAL_SIZING_ROUTINE)CLEANLOCALSTORAGE_UserSize
+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)CLEANLOCALSTORAGE_UserMarshal
+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)CLEANLOCALSTORAGE_UserUnmarshal
+            ,(USER_MARSHAL_FREEING_ROUTINE)CLEANLOCALSTORAGE_UserFree
+            }
+
+        };
+
+
+
+/* Standard interface: __MIDL_itf_oaidl_0000, ver. 0.0,
+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Standard interface: IOleAutomationTypes, ver. 1.0,
+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
+
+
+/* Object interface: IUnknown, ver. 0.0,
+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IDispatch, ver. 0.0,
+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short IDispatch_FormatStringOffsetTable[] =
+    {
+    0,
+    6,
+    16,
+    34
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IDispatch_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IDispatch_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const STUB_THUNK IDispatch_StubThunkTable[] = 
+    {
+    0,
+    0,
+    0,
+    IDispatch_RemoteInvoke_Thunk
+    };
+
+static const MIDL_SERVER_INFO IDispatch_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IDispatch_FormatStringOffsetTable[-3],
+    &IDispatch_StubThunkTable[-3],
+    0,
+    0,
+    0};
+CINTERFACE_PROXY_VTABLE(7) _IDispatchProxyVtbl = 
+{
+    { &IID_IDispatch },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        IDispatch_GetTypeInfoCount_Proxy ,
+        IDispatch_GetTypeInfo_Proxy ,
+        IDispatch_GetIDsOfNames_Proxy ,
+        IDispatch_Invoke_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION IDispatch_table[] =
+{
+    IDispatch_GetTypeInfoCount_Stub,
+    IDispatch_GetTypeInfo_Stub,
+    IDispatch_GetIDsOfNames_Stub,
+    (PRPC_STUB_FUNCTION)NdrStubCall2
+};
+
+const CInterfaceStubVtbl _IDispatchStubVtbl =
+{
+    {
+        &IID_IDispatch,
+        &IDispatch_ServerInfo,
+        7,
+        &IDispatch_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: IEnumVARIANT, ver. 0.0,
+   GUID={0x00020404,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short IEnumVARIANT_FormatStringOffsetTable[] =
+    {
+    122,
+    162,
+    166,
+    168
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IEnumVARIANT_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IEnumVARIANT_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const STUB_THUNK IEnumVARIANT_StubThunkTable[] = 
+    {
+    IEnumVARIANT_RemoteNext_Thunk,
+    0,
+    0,
+    0
+    };
+
+static const MIDL_SERVER_INFO IEnumVARIANT_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IEnumVARIANT_FormatStringOffsetTable[-3],
+    &IEnumVARIANT_StubThunkTable[-3],
+    0,
+    0,
+    0};
+CINTERFACE_PROXY_VTABLE(7) _IEnumVARIANTProxyVtbl = 
+{
+    { &IID_IEnumVARIANT },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        IEnumVARIANT_Next_Proxy ,
+        IEnumVARIANT_Skip_Proxy ,
+        IEnumVARIANT_Reset_Proxy ,
+        IEnumVARIANT_Clone_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION IEnumVARIANT_table[] =
+{
+    (PRPC_STUB_FUNCTION)NdrStubCall2,
+    IEnumVARIANT_Skip_Stub,
+    IEnumVARIANT_Reset_Stub,
+    IEnumVARIANT_Clone_Stub
+};
+
+const CInterfaceStubVtbl _IEnumVARIANTStubVtbl =
+{
+    {
+        &IID_IEnumVARIANT,
+        &IEnumVARIANT_ServerInfo,
+        7,
+        &IEnumVARIANT_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeComp, ver. 0.0,
+   GUID={0x00020403,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short ITypeComp_FormatStringOffsetTable[] =
+    {
+    174,
+    208
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ITypeComp_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ITypeComp_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ITypeComp_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ITypeComp_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(5) _ITypeCompProxyVtbl = 
+{
+    { &IID_ITypeComp },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ITypeComp_Bind_Proxy ,
+        ITypeComp_BindType_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ITypeComp_table[] =
+{
+    ITypeComp_RemoteBind_Stub,
+    ITypeComp_RemoteBindType_Stub
+};
+
+const CInterfaceStubVtbl _ITypeCompStubVtbl =
+{
+    {
+        &IID_ITypeComp,
+        &ITypeComp_ServerInfo,
+        5,
+        &ITypeComp_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeInfo, ver. 0.0,
+   GUID={0x00020401,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short ITypeInfo_FormatStringOffsetTable[] =
+    {
+    220,
+    230,
+    236,
+    248,
+    260,
+    274,
+    274,
+    166,
+    166,
+    282,
+    304,
+    324,
+    166,
+    332,
+    342,
+    350,
+    166,
+    166,
+    166
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ITypeInfo_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ITypeInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ITypeInfo_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ITypeInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(22) _ITypeInfoProxyVtbl = 
+{
+    { &IID_ITypeInfo },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ITypeInfo_GetTypeAttr_Proxy ,
+        ITypeInfo_GetTypeComp_Proxy ,
+        ITypeInfo_GetFuncDesc_Proxy ,
+        ITypeInfo_GetVarDesc_Proxy ,
+        ITypeInfo_GetNames_Proxy ,
+        ITypeInfo_GetRefTypeOfImplType_Proxy ,
+        ITypeInfo_GetImplTypeFlags_Proxy ,
+        ITypeInfo_GetIDsOfNames_Proxy ,
+        ITypeInfo_Invoke_Proxy ,
+        ITypeInfo_GetDocumentation_Proxy ,
+        ITypeInfo_GetDllEntry_Proxy ,
+        ITypeInfo_GetRefTypeInfo_Proxy ,
+        ITypeInfo_AddressOfMember_Proxy ,
+        ITypeInfo_CreateInstance_Proxy ,
+        ITypeInfo_GetMops_Proxy ,
+        ITypeInfo_GetContainingTypeLib_Proxy ,
+        ITypeInfo_ReleaseTypeAttr_Proxy ,
+        ITypeInfo_ReleaseFuncDesc_Proxy ,
+        ITypeInfo_ReleaseVarDesc_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ITypeInfo_table[] =
+{
+    ITypeInfo_RemoteGetTypeAttr_Stub,
+    ITypeInfo_GetTypeComp_Stub,
+    ITypeInfo_RemoteGetFuncDesc_Stub,
+    ITypeInfo_RemoteGetVarDesc_Stub,
+    ITypeInfo_RemoteGetNames_Stub,
+    ITypeInfo_GetRefTypeOfImplType_Stub,
+    ITypeInfo_GetImplTypeFlags_Stub,
+    ITypeInfo_LocalGetIDsOfNames_Stub,
+    ITypeInfo_LocalInvoke_Stub,
+    ITypeInfo_RemoteGetDocumentation_Stub,
+    ITypeInfo_RemoteGetDllEntry_Stub,
+    ITypeInfo_GetRefTypeInfo_Stub,
+    ITypeInfo_LocalAddressOfMember_Stub,
+    ITypeInfo_RemoteCreateInstance_Stub,
+    ITypeInfo_GetMops_Stub,
+    ITypeInfo_RemoteGetContainingTypeLib_Stub,
+    ITypeInfo_LocalReleaseTypeAttr_Stub,
+    ITypeInfo_LocalReleaseFuncDesc_Stub,
+    ITypeInfo_LocalReleaseVarDesc_Stub
+};
+
+const CInterfaceStubVtbl _ITypeInfoStubVtbl =
+{
+    {
+        &IID_ITypeInfo,
+        &ITypeInfo_ServerInfo,
+        22,
+        &ITypeInfo_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeInfo2, ver. 0.0,
+   GUID={0x00020412,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short ITypeInfo2_FormatStringOffsetTable[] =
+    {
+    220,
+    230,
+    236,
+    248,
+    260,
+    274,
+    274,
+    166,
+    166,
+    282,
+    304,
+    324,
+    166,
+    332,
+    342,
+    350,
+    166,
+    166,
+    166,
+    360,
+    0,
+    366,
+    274,
+    376,
+    386,
+    398,
+    386,
+    386,
+    412,
+    432,
+    438,
+    446,
+    438,
+    438
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ITypeInfo2_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ITypeInfo2_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ITypeInfo2_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ITypeInfo2_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(37) _ITypeInfo2ProxyVtbl = 
+{
+    { &IID_ITypeInfo2 },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ITypeInfo_GetTypeAttr_Proxy ,
+        ITypeInfo_GetTypeComp_Proxy ,
+        ITypeInfo_GetFuncDesc_Proxy ,
+        ITypeInfo_GetVarDesc_Proxy ,
+        ITypeInfo_GetNames_Proxy ,
+        ITypeInfo_GetRefTypeOfImplType_Proxy ,
+        ITypeInfo_GetImplTypeFlags_Proxy ,
+        ITypeInfo_GetIDsOfNames_Proxy ,
+        ITypeInfo_Invoke_Proxy ,
+        ITypeInfo_GetDocumentation_Proxy ,
+        ITypeInfo_GetDllEntry_Proxy ,
+        ITypeInfo_GetRefTypeInfo_Proxy ,
+        ITypeInfo_AddressOfMember_Proxy ,
+        ITypeInfo_CreateInstance_Proxy ,
+        ITypeInfo_GetMops_Proxy ,
+        ITypeInfo_GetContainingTypeLib_Proxy ,
+        ITypeInfo_ReleaseTypeAttr_Proxy ,
+        ITypeInfo_ReleaseFuncDesc_Proxy ,
+        ITypeInfo_ReleaseVarDesc_Proxy ,
+        ITypeInfo2_GetTypeKind_Proxy ,
+        ITypeInfo2_GetTypeFlags_Proxy ,
+        ITypeInfo2_GetFuncIndexOfMemId_Proxy ,
+        ITypeInfo2_GetVarIndexOfMemId_Proxy ,
+        ITypeInfo2_GetCustData_Proxy ,
+        ITypeInfo2_GetFuncCustData_Proxy ,
+        ITypeInfo2_GetParamCustData_Proxy ,
+        ITypeInfo2_GetVarCustData_Proxy ,
+        ITypeInfo2_GetImplTypeCustData_Proxy ,
+        ITypeInfo2_GetDocumentation2_Proxy ,
+        ITypeInfo2_GetAllCustData_Proxy ,
+        ITypeInfo2_GetAllFuncCustData_Proxy ,
+        ITypeInfo2_GetAllParamCustData_Proxy ,
+        ITypeInfo2_GetAllVarCustData_Proxy ,
+        ITypeInfo2_GetAllImplTypeCustData_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ITypeInfo2_table[] =
+{
+    ITypeInfo_RemoteGetTypeAttr_Stub,
+    ITypeInfo_GetTypeComp_Stub,
+    ITypeInfo_RemoteGetFuncDesc_Stub,
+    ITypeInfo_RemoteGetVarDesc_Stub,
+    ITypeInfo_RemoteGetNames_Stub,
+    ITypeInfo_GetRefTypeOfImplType_Stub,
+    ITypeInfo_GetImplTypeFlags_Stub,
+    ITypeInfo_LocalGetIDsOfNames_Stub,
+    ITypeInfo_LocalInvoke_Stub,
+    ITypeInfo_RemoteGetDocumentation_Stub,
+    ITypeInfo_RemoteGetDllEntry_Stub,
+    ITypeInfo_GetRefTypeInfo_Stub,
+    ITypeInfo_LocalAddressOfMember_Stub,
+    ITypeInfo_RemoteCreateInstance_Stub,
+    ITypeInfo_GetMops_Stub,
+    ITypeInfo_RemoteGetContainingTypeLib_Stub,
+    ITypeInfo_LocalReleaseTypeAttr_Stub,
+    ITypeInfo_LocalReleaseFuncDesc_Stub,
+    ITypeInfo_LocalReleaseVarDesc_Stub,
+    ITypeInfo2_GetTypeKind_Stub,
+    ITypeInfo2_GetTypeFlags_Stub,
+    ITypeInfo2_GetFuncIndexOfMemId_Stub,
+    ITypeInfo2_GetVarIndexOfMemId_Stub,
+    ITypeInfo2_GetCustData_Stub,
+    ITypeInfo2_GetFuncCustData_Stub,
+    ITypeInfo2_GetParamCustData_Stub,
+    ITypeInfo2_GetVarCustData_Stub,
+    ITypeInfo2_GetImplTypeCustData_Stub,
+    ITypeInfo2_RemoteGetDocumentation2_Stub,
+    ITypeInfo2_GetAllCustData_Stub,
+    ITypeInfo2_GetAllFuncCustData_Stub,
+    ITypeInfo2_GetAllParamCustData_Stub,
+    ITypeInfo2_GetAllVarCustData_Stub,
+    ITypeInfo2_GetAllImplTypeCustData_Stub
+};
+
+const CInterfaceStubVtbl _ITypeInfo2StubVtbl =
+{
+    {
+        &IID_ITypeInfo2,
+        &ITypeInfo2_ServerInfo,
+        37,
+        &ITypeInfo2_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeLib, ver. 0.0,
+   GUID={0x00020402,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short ITypeLib_FormatStringOffsetTable[] =
+    {
+    0,
+    324,
+    456,
+    464,
+    474,
+    230,
+    282,
+    484,
+    500,
+    166
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ITypeLib_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ITypeLib_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ITypeLib_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ITypeLib_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(13) _ITypeLibProxyVtbl = 
+{
+    { &IID_ITypeLib },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ITypeLib_GetTypeInfoCount_Proxy ,
+        ITypeLib_GetTypeInfo_Proxy ,
+        ITypeLib_GetTypeInfoType_Proxy ,
+        ITypeLib_GetTypeInfoOfGuid_Proxy ,
+        ITypeLib_GetLibAttr_Proxy ,
+        ITypeLib_GetTypeComp_Proxy ,
+        ITypeLib_GetDocumentation_Proxy ,
+        ITypeLib_IsName_Proxy ,
+        ITypeLib_FindName_Proxy ,
+        ITypeLib_ReleaseTLibAttr_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ITypeLib_table[] =
+{
+    ITypeLib_RemoteGetTypeInfoCount_Stub,
+    ITypeLib_GetTypeInfo_Stub,
+    ITypeLib_GetTypeInfoType_Stub,
+    ITypeLib_GetTypeInfoOfGuid_Stub,
+    ITypeLib_RemoteGetLibAttr_Stub,
+    ITypeLib_GetTypeComp_Stub,
+    ITypeLib_RemoteGetDocumentation_Stub,
+    ITypeLib_RemoteIsName_Stub,
+    ITypeLib_RemoteFindName_Stub,
+    ITypeLib_LocalReleaseTLibAttr_Stub
+};
+
+const CInterfaceStubVtbl _ITypeLibStubVtbl =
+{
+    {
+        &IID_ITypeLib,
+        &ITypeLib_ServerInfo,
+        13,
+        &ITypeLib_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeLib2, ver. 0.0,
+   GUID={0x00020411,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short ITypeLib2_FormatStringOffsetTable[] =
+    {
+    0,
+    324,
+    456,
+    464,
+    474,
+    230,
+    282,
+    484,
+    500,
+    166,
+    376,
+    524,
+    412,
+    432
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ITypeLib2_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ITypeLib2_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ITypeLib2_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ITypeLib2_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(17) _ITypeLib2ProxyVtbl = 
+{
+    { &IID_ITypeLib2 },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ITypeLib_GetTypeInfoCount_Proxy ,
+        ITypeLib_GetTypeInfo_Proxy ,
+        ITypeLib_GetTypeInfoType_Proxy ,
+        ITypeLib_GetTypeInfoOfGuid_Proxy ,
+        ITypeLib_GetLibAttr_Proxy ,
+        ITypeLib_GetTypeComp_Proxy ,
+        ITypeLib_GetDocumentation_Proxy ,
+        ITypeLib_IsName_Proxy ,
+        ITypeLib_FindName_Proxy ,
+        ITypeLib_ReleaseTLibAttr_Proxy ,
+        ITypeLib2_GetCustData_Proxy ,
+        ITypeLib2_GetLibStatistics_Proxy ,
+        ITypeLib2_GetDocumentation2_Proxy ,
+        ITypeLib2_GetAllCustData_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ITypeLib2_table[] =
+{
+    ITypeLib_RemoteGetTypeInfoCount_Stub,
+    ITypeLib_GetTypeInfo_Stub,
+    ITypeLib_GetTypeInfoType_Stub,
+    ITypeLib_GetTypeInfoOfGuid_Stub,
+    ITypeLib_RemoteGetLibAttr_Stub,
+    ITypeLib_GetTypeComp_Stub,
+    ITypeLib_RemoteGetDocumentation_Stub,
+    ITypeLib_RemoteIsName_Stub,
+    ITypeLib_RemoteFindName_Stub,
+    ITypeLib_LocalReleaseTLibAttr_Stub,
+    ITypeLib2_GetCustData_Stub,
+    ITypeLib2_RemoteGetLibStatistics_Stub,
+    ITypeLib2_RemoteGetDocumentation2_Stub,
+    ITypeLib2_GetAllCustData_Stub
+};
+
+const CInterfaceStubVtbl _ITypeLib2StubVtbl =
+{
+    {
+        &IID_ITypeLib2,
+        &ITypeLib2_ServerInfo,
+        17,
+        &ITypeLib2_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeChangeEvents, ver. 0.0,
+   GUID={0x00020410,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IErrorInfo, ver. 0.0,
+   GUID={0x1CF2B120,0x547D,0x101B,{0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19}} */
+
+static const unsigned short IErrorInfo_FormatStringOffsetTable[] =
+    {
+    534,
+    540,
+    540,
+    540,
+    0
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IErrorInfo_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IErrorInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO IErrorInfo_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IErrorInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(8) _IErrorInfoProxyVtbl = 
+{
+    { &IID_IErrorInfo },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        IErrorInfo_GetGUID_Proxy ,
+        IErrorInfo_GetSource_Proxy ,
+        IErrorInfo_GetDescription_Proxy ,
+        IErrorInfo_GetHelpFile_Proxy ,
+        IErrorInfo_GetHelpContext_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION IErrorInfo_table[] =
+{
+    IErrorInfo_GetGUID_Stub,
+    IErrorInfo_GetSource_Stub,
+    IErrorInfo_GetDescription_Stub,
+    IErrorInfo_GetHelpFile_Stub,
+    IErrorInfo_GetHelpContext_Stub
+};
+
+const CInterfaceStubVtbl _IErrorInfoStubVtbl =
+{
+    {
+        &IID_IErrorInfo,
+        &IErrorInfo_ServerInfo,
+        8,
+        &IErrorInfo_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ICreateErrorInfo, ver. 0.0,
+   GUID={0x22F03340,0x547D,0x101B,{0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19}} */
+
+static const unsigned short ICreateErrorInfo_FormatStringOffsetTable[] =
+    {
+    546,
+    552,
+    552,
+    552,
+    162
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ICreateErrorInfo_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ICreateErrorInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ICreateErrorInfo_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ICreateErrorInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(8) _ICreateErrorInfoProxyVtbl = 
+{
+    { &IID_ICreateErrorInfo },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ICreateErrorInfo_SetGUID_Proxy ,
+        ICreateErrorInfo_SetSource_Proxy ,
+        ICreateErrorInfo_SetDescription_Proxy ,
+        ICreateErrorInfo_SetHelpFile_Proxy ,
+        ICreateErrorInfo_SetHelpContext_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ICreateErrorInfo_table[] =
+{
+    ICreateErrorInfo_SetGUID_Stub,
+    ICreateErrorInfo_SetSource_Stub,
+    ICreateErrorInfo_SetDescription_Stub,
+    ICreateErrorInfo_SetHelpFile_Stub,
+    ICreateErrorInfo_SetHelpContext_Stub
+};
+
+const CInterfaceStubVtbl _ICreateErrorInfoStubVtbl =
+{
+    {
+        &IID_ICreateErrorInfo,
+        &ICreateErrorInfo_ServerInfo,
+        8,
+        &ICreateErrorInfo_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ISupportErrorInfo, ver. 0.0,
+   GUID={0xDF0B3D60,0x548F,0x101B,{0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19}} */
+
+static const unsigned short ISupportErrorInfo_FormatStringOffsetTable[] =
+    {
+    546
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ISupportErrorInfo_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ISupportErrorInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ISupportErrorInfo_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ISupportErrorInfo_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(4) _ISupportErrorInfoProxyVtbl = 
+{
+    { &IID_ISupportErrorInfo },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ISupportErrorInfo_table[] =
+{
+    ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub
+};
+
+const CInterfaceStubVtbl _ISupportErrorInfoStubVtbl =
+{
+    {
+        &IID_ISupportErrorInfo,
+        &ISupportErrorInfo_ServerInfo,
+        4,
+        &ISupportErrorInfo_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeFactory, ver. 0.0,
+   GUID={0x0000002E,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+static const unsigned short ITypeFactory_FormatStringOffsetTable[] =
+    {
+    558
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO ITypeFactory_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &ITypeFactory_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO ITypeFactory_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &ITypeFactory_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(4) _ITypeFactoryProxyVtbl = 
+{
+    { &IID_ITypeFactory },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        ITypeFactory_CreateFromTypeInfo_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION ITypeFactory_table[] =
+{
+    ITypeFactory_CreateFromTypeInfo_Stub
+};
+
+const CInterfaceStubVtbl _ITypeFactoryStubVtbl =
+{
+    {
+        &IID_ITypeFactory,
+        &ITypeFactory_ServerInfo,
+        4,
+        &ITypeFactory_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: ITypeMarshal, ver. 0.0,
+   GUID={0x0000002D,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IRecordInfo, ver. 0.0,
+   GUID={0x0000002F,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: ICreateTypeInfo, ver. 0.0,
+   GUID={0x00020405,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: ICreateTypeInfo2, ver. 0.0,
+   GUID={0x0002040E,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: ICreateTypeLib, ver. 0.0,
+   GUID={0x00020406,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: ICreateTypeLib2, ver. 0.0,
+   GUID={0x0002040F,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
+
+
+/* Object interface: IErrorLog, ver. 0.0,
+   GUID={0x3127ca40,0x446e,0x11ce,{0x81,0x35,0x00,0xaa,0x00,0x4b,0xb8,0x51}} */
+
+static const unsigned short IErrorLog_FormatStringOffsetTable[] =
+    {
+    572
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IErrorLog_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IErrorLog_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO IErrorLog_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IErrorLog_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(4) _IErrorLogProxyVtbl = 
+{
+    { &IID_IErrorLog },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        IErrorLog_AddError_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION IErrorLog_table[] =
+{
+    IErrorLog_AddError_Stub
+};
+
+const CInterfaceStubVtbl _IErrorLogStubVtbl =
+{
+    {
+        &IID_IErrorLog,
+        &IErrorLog_ServerInfo,
+        4,
+        &IErrorLog_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+
+/* Object interface: IPropertyBag, ver. 0.0,
+   GUID={0x55272a00,0x42cb,0x11ce,{0x81,0x35,0x00,0xaa,0x00,0x4b,0xb8,0x51}} */
+
+static const unsigned short IPropertyBag_FormatStringOffsetTable[] =
+    {
+    582,
+    602
+    };
+
+static const MIDL_STUBLESS_PROXY_INFO IPropertyBag_ProxyInfo =
+    {
+    &Object_StubDesc,
+    __MIDL_ProcFormatString.Format,
+    &IPropertyBag_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0
+    };
+
+
+static const MIDL_SERVER_INFO IPropertyBag_ServerInfo = 
+    {
+    &Object_StubDesc,
+    0,
+    __MIDL_ProcFormatString.Format,
+    &IPropertyBag_FormatStringOffsetTable[-3],
+    0,
+    0,
+    0,
+    0};
+const CINTERFACE_PROXY_VTABLE(5) _IPropertyBagProxyVtbl = 
+{
+    { &IID_IPropertyBag },
+    {
+        IUnknown_QueryInterface_Proxy,
+        IUnknown_AddRef_Proxy,
+        IUnknown_Release_Proxy ,
+        IPropertyBag_Read_Proxy ,
+        IPropertyBag_Write_Proxy
+    }
+};
+
+
+static const PRPC_STUB_FUNCTION IPropertyBag_table[] =
+{
+    IPropertyBag_RemoteRead_Stub,
+    IPropertyBag_Write_Stub
+};
+
+const CInterfaceStubVtbl _IPropertyBagStubVtbl =
+{
+    {
+        &IID_IPropertyBag,
+        &IPropertyBag_ServerInfo,
+        5,
+        &IPropertyBag_table[-3]
+    },
+    { CStdStubBuffer_METHODS }
+};
+
+static const MIDL_STUB_DESC Object_StubDesc = 
+    {
+    0,
+    NdrOleAllocate,
+    NdrOleFree,
+    { 0 },
+    0,
+    0,
+    0,
+    0,
+    __MIDL_TypeFormatString.Format,
+    1, /* -error bounds_check flag */
+    0x50000, /* Ndr library version */
+    0,
+    0x6000169, /* MIDL Version 6.0.361 */
+    0,
+    UserMarshalRoutines,
+    0,  /* notify & notify_flag routine table */
+    0x1, /* MIDL flag */
+    0, /* cs routines */
+    0,   /* proxy/server info */
+    0   /* Reserved5 */
+    };
+
+const CInterfaceProxyVtbl * _oaidl_ProxyVtblList[] = 
+{
+    ( CInterfaceProxyVtbl *) &_IDispatchProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_IPropertyBagProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ITypeInfoProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ITypeLibProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ITypeCompProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_IEnumVARIANTProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ITypeLib2ProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ITypeInfo2ProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_IErrorInfoProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ITypeFactoryProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ICreateErrorInfoProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_IErrorLogProxyVtbl,
+    ( CInterfaceProxyVtbl *) &_ISupportErrorInfoProxyVtbl,
+    0
+};
+
+const CInterfaceStubVtbl * _oaidl_StubVtblList[] = 
+{
+    ( CInterfaceStubVtbl *) &_IDispatchStubVtbl,
+    ( CInterfaceStubVtbl *) &_IPropertyBagStubVtbl,
+    ( CInterfaceStubVtbl *) &_ITypeInfoStubVtbl,
+    ( CInterfaceStubVtbl *) &_ITypeLibStubVtbl,
+    ( CInterfaceStubVtbl *) &_ITypeCompStubVtbl,
+    ( CInterfaceStubVtbl *) &_IEnumVARIANTStubVtbl,
+    ( CInterfaceStubVtbl *) &_ITypeLib2StubVtbl,
+    ( CInterfaceStubVtbl *) &_ITypeInfo2StubVtbl,
+    ( CInterfaceStubVtbl *) &_IErrorInfoStubVtbl,
+    ( CInterfaceStubVtbl *) &_ITypeFactoryStubVtbl,
+    ( CInterfaceStubVtbl *) &_ICreateErrorInfoStubVtbl,
+    ( CInterfaceStubVtbl *) &_IErrorLogStubVtbl,
+    ( CInterfaceStubVtbl *) &_ISupportErrorInfoStubVtbl,
+    0
+};
+
+PCInterfaceName const _oaidl_InterfaceNamesList[] = 
+{
+    "IDispatch",
+    "IPropertyBag",
+    "ITypeInfo",
+    "ITypeLib",
+    "ITypeComp",
+    "IEnumVARIANT",
+    "ITypeLib2",
+    "ITypeInfo2",
+    "IErrorInfo",
+    "ITypeFactory",
+    "ICreateErrorInfo",
+    "IErrorLog",
+    "ISupportErrorInfo",
+    0
+};
+
+
+#define _oaidl_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _oaidl, pIID, n)
+
+int __stdcall _oaidl_IID_Lookup( const IID * pIID, int * pIndex )
+{
+    IID_BS_LOOKUP_SETUP
+
+    IID_BS_LOOKUP_INITIAL_TEST( _oaidl, 13, 8 )
+    IID_BS_LOOKUP_NEXT_TEST( _oaidl, 4 )
+    IID_BS_LOOKUP_NEXT_TEST( _oaidl, 2 )
+    IID_BS_LOOKUP_NEXT_TEST( _oaidl, 1 )
+    IID_BS_LOOKUP_RETURN_RESULT( _oaidl, 13, *pIndex )
+    
+}
+
+const ExtendedProxyFileInfo oaidl_ProxyFileInfo = 
+{
+    (PCInterfaceProxyVtblList *) & _oaidl_ProxyVtblList,
+    (PCInterfaceStubVtblList *) & _oaidl_StubVtblList,
+    (const PCInterfaceName * ) & _oaidl_InterfaceNamesList,
+    0, /* no delegation */
+    & _oaidl_IID_Lookup, 
+    13,
+    2,
+    0, /* table of [async_uuid] interfaces */
+    0, /* Filler1 */
+    0, /* Filler2 */
+    0  /* Filler3 */
+};
+
+
+#endif /* _WIN64 */
diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c
index 90782c7..4ca8227 100644
--- a/dlls/oleaut32/usrmarshal.c
+++ b/dlls/oleaut32/usrmarshal.c
@@ -1957,3 +1957,28 @@ HRESULT __RPC_STUB ITypeLib2_GetDocument
   FIXME("not implemented\n");
   return E_FAIL;
 }
+
+
+/* IPropertyBag */
+
+HRESULT CALLBACK IPropertyBag_Read_Proxy(
+    IPropertyBag* This,
+    LPCOLESTR pszPropName,
+    VARIANT* pVar,
+    IErrorLog* pErrorLog)
+{
+  FIXME("not implemented\n");
+  return E_FAIL;
+}
+
+HRESULT __RPC_STUB IPropertyBag_Read_Stub(
+    IPropertyBag* This,
+    LPCOLESTR pszPropName,
+    VARIANT* pVar,
+    IErrorLog* pErrorLog,
+    DWORD varType,
+    IUnknown* pUnkObj)
+{
+  FIXME("not implemented\n");
+  return E_FAIL;
+}
-- 
1.4.0




More information about the wine-patches mailing list