myaddinter_p.c
上传用户:weisheen
上传日期:2022-07-09
资源大小:19390k
文件大小:21k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. /* this ALWAYS GENERATED file contains the proxy stub code */
  2. /* File created by MIDL compiler version 5.01.0164 */
  3. /* at Mon Feb 22 19:18:15 2010
  4.  */
  5. /* Compiler settings for myaddinter.idl:
  6.     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8. */
  9. //@@MIDL_FILE_HEADING(  )
  10. /* verify that the <rpcproxy.h> version is high enough to compile this file*/
  11. #ifndef __REDQ_RPCPROXY_H_VERSION__
  12. #define __REQUIRED_RPCPROXY_H_VERSION__ 440
  13. #endif
  14. #include "rpcproxy.h"
  15. #ifndef __RPCPROXY_H_VERSION__
  16. #error this stub requires an updated version of <rpcproxy.h>
  17. #endif // __RPCPROXY_H_VERSION__
  18. #include "myaddinter.h"
  19. #define TYPE_FORMAT_STRING_SIZE   59                                
  20. #define PROC_FORMAT_STRING_SIZE   21                                
  21. typedef struct _MIDL_TYPE_FORMAT_STRING
  22.     {
  23.     short          Pad;
  24.     unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
  25.     } MIDL_TYPE_FORMAT_STRING;
  26. typedef struct _MIDL_PROC_FORMAT_STRING
  27.     {
  28.     short          Pad;
  29.     unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
  30.     } MIDL_PROC_FORMAT_STRING;
  31. extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
  32. extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
  33. /* Object interface: IUnknown, ver. 0.0,
  34.    GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
  35. /* Object interface: IMyfirst, ver. 0.0,
  36.    GUID={0xB5DC4864,0x4819,0x4C1F,{0x9B,0xBE,0x07,0xCE,0x52,0x3C,0x5B,0x42}} */
  37. extern const MIDL_STUB_DESC Object_StubDesc;
  38. #pragma code_seg(".orpc")
  39. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMyfirst_add_Proxy( 
  40.     IMyfirst __RPC_FAR * This,
  41.     /* [in] */ int a,
  42.     /* [in] */ int b,
  43.     /* [out] */ int __RPC_FAR *c)
  44. {
  45.     HRESULT _RetVal;
  46.     
  47.     RPC_MESSAGE _RpcMessage;
  48.     
  49.     MIDL_STUB_MESSAGE _StubMsg;
  50.     
  51.     RpcTryExcept
  52.         {
  53.         NdrProxyInitialize(
  54.                       ( void __RPC_FAR *  )This,
  55.                       ( PRPC_MESSAGE  )&_RpcMessage,
  56.                       ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  57.                       ( PMIDL_STUB_DESC  )&Object_StubDesc,
  58.                       3);
  59.         
  60.         
  61.         
  62.         if(!c)
  63.             {
  64.             RpcRaiseException(RPC_X_NULL_REF_POINTER);
  65.             }
  66.         RpcTryFinally
  67.             {
  68.             
  69.             _StubMsg.BufferLength = 4U + 4U;
  70.             NdrProxyGetBuffer(This, &_StubMsg);
  71.             *(( int __RPC_FAR * )_StubMsg.Buffer)++ = a;
  72.             
  73.             *(( int __RPC_FAR * )_StubMsg.Buffer)++ = b;
  74.             
  75.             NdrProxySendReceive(This, &_StubMsg);
  76.             
  77.             if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  78.                 NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
  79.             
  80.             *c = *(( int __RPC_FAR * )_StubMsg.Buffer)++;
  81.             
  82.             _RetVal = *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++;
  83.             
  84.             }
  85.         RpcFinally
  86.             {
  87.             NdrProxyFreeBuffer(This, &_StubMsg);
  88.             
  89.             }
  90.         RpcEndFinally
  91.         
  92.         }
  93.     RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
  94.         {
  95.         NdrClearOutParameters(
  96.                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  97.                          ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
  98.                          ( void __RPC_FAR * )c);
  99.         _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
  100.         }
  101.     RpcEndExcept
  102.     return _RetVal;
  103. }
  104. void __RPC_STUB IMyfirst_add_Stub(
  105.     IRpcStubBuffer *This,
  106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  107.     PRPC_MESSAGE _pRpcMessage,
  108.     DWORD *_pdwStubPhase)
  109. {
  110.     int _M0;
  111.     HRESULT _RetVal;
  112.     MIDL_STUB_MESSAGE _StubMsg;
  113.     int a;
  114.     int b;
  115.     int __RPC_FAR *c;
  116.     
  117. NdrStubInitialize(
  118.                      _pRpcMessage,
  119.                      &_StubMsg,
  120.                      &Object_StubDesc,
  121.                      _pRpcChannelBuffer);
  122.     ( int __RPC_FAR * )c = 0;
  123.     RpcTryFinally
  124.         {
  125.         if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  126.             NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
  127.         
  128.         a = *(( int __RPC_FAR * )_StubMsg.Buffer)++;
  129.         
  130.         b = *(( int __RPC_FAR * )_StubMsg.Buffer)++;
  131.         
  132.         c = &_M0;
  133.         
  134.         *_pdwStubPhase = STUB_CALL_SERVER;
  135.         _RetVal = (((IMyfirst*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> add(
  136.        (IMyfirst *) ((CStdStubBuffer *)This)->pvServerObject,
  137.        a,
  138.        b,
  139.        c);
  140.         
  141.         *_pdwStubPhase = STUB_MARSHAL;
  142.         
  143.         _StubMsg.BufferLength = 4U + 4U;
  144.         NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
  145.         *(( int __RPC_FAR * )_StubMsg.Buffer)++ = *c;
  146.         
  147.         *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++ = _RetVal;
  148.         
  149.         }
  150.     RpcFinally
  151.         {
  152.         }
  153.     RpcEndFinally
  154.     _pRpcMessage->BufferLength = 
  155.         (unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);
  156.     
  157. }
  158. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMyfirst_sub_Proxy( 
  159.     IMyfirst __RPC_FAR * This,
  160.     /* [in] */ int a,
  161.     /* [in] */ int b,
  162.     /* [out] */ int __RPC_FAR *c)
  163. {
  164.     HRESULT _RetVal;
  165.     
  166.     RPC_MESSAGE _RpcMessage;
  167.     
  168.     MIDL_STUB_MESSAGE _StubMsg;
  169.     
  170.     RpcTryExcept
  171.         {
  172.         NdrProxyInitialize(
  173.                       ( void __RPC_FAR *  )This,
  174.                       ( PRPC_MESSAGE  )&_RpcMessage,
  175.                       ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  176.                       ( PMIDL_STUB_DESC  )&Object_StubDesc,
  177.                       4);
  178.         
  179.         
  180.         
  181.         if(!c)
  182.             {
  183.             RpcRaiseException(RPC_X_NULL_REF_POINTER);
  184.             }
  185.         RpcTryFinally
  186.             {
  187.             
  188.             _StubMsg.BufferLength = 4U + 4U;
  189.             NdrProxyGetBuffer(This, &_StubMsg);
  190.             *(( int __RPC_FAR * )_StubMsg.Buffer)++ = a;
  191.             
  192.             *(( int __RPC_FAR * )_StubMsg.Buffer)++ = b;
  193.             
  194.             NdrProxySendReceive(This, &_StubMsg);
  195.             
  196.             if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  197.                 NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
  198.             
  199.             *c = *(( int __RPC_FAR * )_StubMsg.Buffer)++;
  200.             
  201.             _RetVal = *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++;
  202.             
  203.             }
  204.         RpcFinally
  205.             {
  206.             NdrProxyFreeBuffer(This, &_StubMsg);
  207.             
  208.             }
  209.         RpcEndFinally
  210.         
  211.         }
  212.     RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
  213.         {
  214.         NdrClearOutParameters(
  215.                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  216.                          ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[2],
  217.                          ( void __RPC_FAR * )c);
  218.         _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
  219.         }
  220.     RpcEndExcept
  221.     return _RetVal;
  222. }
  223. void __RPC_STUB IMyfirst_sub_Stub(
  224.     IRpcStubBuffer *This,
  225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  226.     PRPC_MESSAGE _pRpcMessage,
  227.     DWORD *_pdwStubPhase)
  228. {
  229.     int _M1;
  230.     HRESULT _RetVal;
  231.     MIDL_STUB_MESSAGE _StubMsg;
  232.     int a;
  233.     int b;
  234.     int __RPC_FAR *c;
  235.     
  236. NdrStubInitialize(
  237.                      _pRpcMessage,
  238.                      &_StubMsg,
  239.                      &Object_StubDesc,
  240.                      _pRpcChannelBuffer);
  241.     ( int __RPC_FAR * )c = 0;
  242.     RpcTryFinally
  243.         {
  244.         if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  245.             NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
  246.         
  247.         a = *(( int __RPC_FAR * )_StubMsg.Buffer)++;
  248.         
  249.         b = *(( int __RPC_FAR * )_StubMsg.Buffer)++;
  250.         
  251.         c = &_M1;
  252.         
  253.         *_pdwStubPhase = STUB_CALL_SERVER;
  254.         _RetVal = (((IMyfirst*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> sub(
  255.        (IMyfirst *) ((CStdStubBuffer *)This)->pvServerObject,
  256.        a,
  257.        b,
  258.        c);
  259.         
  260.         *_pdwStubPhase = STUB_MARSHAL;
  261.         
  262.         _StubMsg.BufferLength = 4U + 4U;
  263.         NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
  264.         *(( int __RPC_FAR * )_StubMsg.Buffer)++ = *c;
  265.         
  266.         *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++ = _RetVal;
  267.         
  268.         }
  269.     RpcFinally
  270.         {
  271.         }
  272.     RpcEndFinally
  273.     _pRpcMessage->BufferLength = 
  274.         (unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);
  275.     
  276. }
  277. const CINTERFACE_PROXY_VTABLE(5) _IMyfirstProxyVtbl = 
  278. {
  279.     &IID_IMyfirst,
  280.     IUnknown_QueryInterface_Proxy,
  281.     IUnknown_AddRef_Proxy,
  282.     IUnknown_Release_Proxy ,
  283.     IMyfirst_add_Proxy ,
  284.     IMyfirst_sub_Proxy
  285. };
  286. static const PRPC_STUB_FUNCTION IMyfirst_table[] =
  287. {
  288.     IMyfirst_add_Stub,
  289.     IMyfirst_sub_Stub
  290. };
  291. const CInterfaceStubVtbl _IMyfirstStubVtbl =
  292. {
  293.     &IID_IMyfirst,
  294.     0,
  295.     5,
  296.     &IMyfirst_table[-3],
  297.     CStdStubBuffer_METHODS
  298. };
  299. /* Object interface: IHello, ver. 0.0,
  300.    GUID={0x674F7BAF,0xA5B0,0x4b8d,{0x87,0x1C,0x1C,0x0A,0x6A,0x08,0x5D,0xC3}} */
  301. extern const MIDL_STUB_DESC Object_StubDesc;
  302. #pragma code_seg(".orpc")
  303. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IHello_MyHello_Proxy( 
  304.     IHello __RPC_FAR * This,
  305.     /* [in] */ BSTR name,
  306.     /* [out] */ BSTR __RPC_FAR *strResult)
  307. {
  308.     HRESULT _RetVal;
  309.     
  310.     RPC_MESSAGE _RpcMessage;
  311.     
  312.     MIDL_STUB_MESSAGE _StubMsg;
  313.     
  314.     if(strResult)
  315.         {
  316.         MIDL_memset(
  317.                strResult,
  318.                0,
  319.                sizeof( BSTR  ));
  320.         }
  321.     RpcTryExcept
  322.         {
  323.         NdrProxyInitialize(
  324.                       ( void __RPC_FAR *  )This,
  325.                       ( PRPC_MESSAGE  )&_RpcMessage,
  326.                       ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  327.                       ( PMIDL_STUB_DESC  )&Object_StubDesc,
  328.                       3);
  329.         
  330.         
  331.         
  332.         if(!strResult)
  333.             {
  334.             RpcRaiseException(RPC_X_NULL_REF_POINTER);
  335.             }
  336.         RpcTryFinally
  337.             {
  338.             
  339.             _StubMsg.BufferLength = 8U;
  340.             NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
  341.                                       (unsigned char __RPC_FAR *)&name,
  342.                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[30] );
  343.             
  344.             NdrProxyGetBuffer(This, &_StubMsg);
  345.             NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
  346.                                     (unsigned char __RPC_FAR *)&name,
  347.                                     (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[30] );
  348.             
  349.             NdrProxySendReceive(This, &_StubMsg);
  350.             
  351.             if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  352.                 NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[10] );
  353.             
  354.             NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
  355.                                       (unsigned char __RPC_FAR * __RPC_FAR *)&strResult,
  356.                                       (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[48],
  357.                                       (unsigned char)0 );
  358.             
  359.             _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
  360.             _RetVal = *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++;
  361.             
  362.             }
  363.         RpcFinally
  364.             {
  365.             NdrProxyFreeBuffer(This, &_StubMsg);
  366.             
  367.             }
  368.         RpcEndFinally
  369.         
  370.         }
  371.     RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
  372.         {
  373.         NdrClearOutParameters(
  374.                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  375.                          ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[40],
  376.                          ( void __RPC_FAR * )strResult);
  377.         _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
  378.         }
  379.     RpcEndExcept
  380.     return _RetVal;
  381. }
  382. void __RPC_STUB IHello_MyHello_Stub(
  383.     IRpcStubBuffer *This,
  384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  385.     PRPC_MESSAGE _pRpcMessage,
  386.     DWORD *_pdwStubPhase)
  387. {
  388.     BSTR _M2;
  389.     HRESULT _RetVal;
  390.     MIDL_STUB_MESSAGE _StubMsg;
  391.     void __RPC_FAR *_p_name;
  392.     BSTR name;
  393.     BSTR __RPC_FAR *strResult;
  394.     
  395. NdrStubInitialize(
  396.                      _pRpcMessage,
  397.                      &_StubMsg,
  398.                      &Object_StubDesc,
  399.                      _pRpcChannelBuffer);
  400.     _p_name = &name;
  401.     MIDL_memset(
  402.                _p_name,
  403.                0,
  404.                sizeof( BSTR  ));
  405.     ( BSTR __RPC_FAR * )strResult = 0;
  406.     RpcTryFinally
  407.         {
  408.         if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  409.             NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[10] );
  410.         
  411.         NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
  412.                                   (unsigned char __RPC_FAR * __RPC_FAR *)&_p_name,
  413.                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[30],
  414.                                   (unsigned char)0 );
  415.         
  416.         strResult = &_M2;
  417.         MIDL_memset(
  418.                strResult,
  419.                0,
  420.                sizeof( BSTR  ));
  421.         
  422.         *_pdwStubPhase = STUB_CALL_SERVER;
  423.         _RetVal = (((IHello*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> MyHello(
  424.            (IHello *) ((CStdStubBuffer *)This)->pvServerObject,
  425.            name,
  426.            strResult);
  427.         
  428.         *_pdwStubPhase = STUB_MARSHAL;
  429.         
  430.         _StubMsg.BufferLength = 8U + 11U;
  431.         NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
  432.                                   (unsigned char __RPC_FAR *)strResult,
  433.                                   (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[48] );
  434.         
  435.         _StubMsg.BufferLength += 16;
  436.         
  437.         NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
  438.         NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
  439.                                 (unsigned char __RPC_FAR *)strResult,
  440.                                 (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[48] );
  441.         
  442.         _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
  443.         *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++ = _RetVal;
  444.         
  445.         }
  446.     RpcFinally
  447.         {
  448.         NdrUserMarshalFree( &_StubMsg,
  449.                             (unsigned char __RPC_FAR *)&name,
  450.                             &__MIDL_TypeFormatString.Format[30] );
  451.         
  452.         NdrPointerFree( &_StubMsg,
  453.                         (unsigned char __RPC_FAR *)strResult,
  454.                         &__MIDL_TypeFormatString.Format[40] );
  455.         
  456.         }
  457.     RpcEndFinally
  458.     _pRpcMessage->BufferLength = 
  459.         (unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);
  460.     
  461. }
  462. extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1];
  463. static const MIDL_STUB_DESC Object_StubDesc = 
  464.     {
  465.     0,
  466.     NdrOleAllocate,
  467.     NdrOleFree,
  468.     0,
  469.     0,
  470.     0,
  471.     0,
  472.     0,
  473.     __MIDL_TypeFormatString.Format,
  474.     1, /* -error bounds_check flag */
  475.     0x20000, /* Ndr library version */
  476.     0,
  477.     0x50100a4, /* MIDL Version 5.1.164 */
  478.     0,
  479.     UserMarshalRoutines,
  480.     0,  /* notify & notify_flag routine table */
  481.     1,  /* Flags */
  482.     0,  /* Reserved3 */
  483.     0,  /* Reserved4 */
  484.     0   /* Reserved5 */
  485.     };
  486. const CINTERFACE_PROXY_VTABLE(4) _IHelloProxyVtbl = 
  487. {
  488.     &IID_IHello,
  489.     IUnknown_QueryInterface_Proxy,
  490.     IUnknown_AddRef_Proxy,
  491.     IUnknown_Release_Proxy ,
  492.     IHello_MyHello_Proxy
  493. };
  494. static const PRPC_STUB_FUNCTION IHello_table[] =
  495. {
  496.     IHello_MyHello_Stub
  497. };
  498. const CInterfaceStubVtbl _IHelloStubVtbl =
  499. {
  500.     &IID_IHello,
  501.     0,
  502.     4,
  503.     &IHello_table[-3],
  504.     CStdStubBuffer_METHODS
  505. };
  506. #pragma data_seg(".rdata")
  507. static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1] = 
  508.         {
  509.             
  510.             {
  511.             BSTR_UserSize
  512.             ,BSTR_UserMarshal
  513.             ,BSTR_UserUnmarshal
  514.             ,BSTR_UserFree
  515.             }
  516.         };
  517. #if !defined(__RPC_WIN32__)
  518. #error  Invalid build platform for this stub.
  519. #endif
  520. #if !(TARGET_IS_NT40_OR_LATER)
  521. #error You need a Windows NT 4.0 or later to run this stub because it uses these features:
  522. #error   [wire_marshal] or [user_marshal] attribute.
  523. #error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
  524. #error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
  525. #endif
  526. static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
  527.     {
  528.         0,
  529.         {
  530. 0x4e, /* FC_IN_PARAM_BASETYPE */
  531. 0x8, /* FC_LONG */
  532. /*  2 */ 0x4e, /* FC_IN_PARAM_BASETYPE */
  533. 0x8, /* FC_LONG */
  534. /*  4 */
  535. 0x51, /* FC_OUT_PARAM */
  536. #ifndef _ALPHA_
  537. 0x1, /* x86, MIPS & PPC Stack size = 1 */
  538. #else
  539. 0x2, /* Alpha Stack size = 2 */
  540. #endif
  541. /*  6 */ NdrFcShort( 0x2 ), /* Type Offset=2 */
  542. /*  8 */ 0x53, /* FC_RETURN_PARAM_BASETYPE */
  543. 0x8, /* FC_LONG */
  544. /* 10 */
  545. 0x4d, /* FC_IN_PARAM */
  546. #ifndef _ALPHA_
  547. 0x1, /* x86, MIPS & PPC Stack size = 1 */
  548. #else
  549. 0x2, /* Alpha Stack size = 2 */
  550. #endif
  551. /* 12 */ NdrFcShort( 0x1e ), /* Type Offset=30 */
  552. /* 14 */
  553. 0x51, /* FC_OUT_PARAM */
  554. #ifndef _ALPHA_
  555. 0x1, /* x86, MIPS & PPC Stack size = 1 */
  556. #else
  557. 0x2, /* Alpha Stack size = 2 */
  558. #endif
  559. /* 16 */ NdrFcShort( 0x28 ), /* Type Offset=40 */
  560. /* 18 */ 0x53, /* FC_RETURN_PARAM_BASETYPE */
  561. 0x8, /* FC_LONG */
  562. 0x0
  563.         }
  564.     };
  565. static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
  566.     {
  567.         0,
  568.         {
  569. NdrFcShort( 0x0 ), /* 0 */
  570. /*  2 */
  571. 0x11, 0xc, /* FC_RP [alloced_on_stack] [simple_pointer] */
  572. /*  4 */ 0x8, /* FC_LONG */
  573. 0x5c, /* FC_PAD */
  574. /*  6 */
  575. 0x12, 0x0, /* FC_UP */
  576. /*  8 */ NdrFcShort( 0xc ), /* Offset= 12 (20) */
  577. /* 10 */
  578. 0x1b, /* FC_CARRAY */
  579. 0x1, /* 1 */
  580. /* 12 */ NdrFcShort( 0x2 ), /* 2 */
  581. /* 14 */ 0x9, /* Corr desc: FC_ULONG */
  582. 0x0, /*  */
  583. /* 16 */ NdrFcShort( 0xfffc ), /* -4 */
  584. /* 18 */ 0x6, /* FC_SHORT */
  585. 0x5b, /* FC_END */
  586. /* 20 */
  587. 0x17, /* FC_CSTRUCT */
  588. 0x3, /* 3 */
  589. /* 22 */ NdrFcShort( 0x8 ), /* 8 */
  590. /* 24 */ NdrFcShort( 0xfffffff2 ), /* Offset= -14 (10) */
  591. /* 26 */ 0x8, /* FC_LONG */
  592. 0x8, /* FC_LONG */
  593. /* 28 */ 0x5c, /* FC_PAD */
  594. 0x5b, /* FC_END */
  595. /* 30 */ 0xb4, /* FC_USER_MARSHAL */
  596. 0x83, /* 131 */
  597. /* 32 */ NdrFcShort( 0x0 ), /* 0 */
  598. /* 34 */ NdrFcShort( 0x4 ), /* 4 */
  599. /* 36 */ NdrFcShort( 0x0 ), /* 0 */
  600. /* 38 */ NdrFcShort( 0xffffffe0 ), /* Offset= -32 (6) */
  601. /* 40 */
  602. 0x11, 0x4, /* FC_RP [alloced_on_stack] */
  603. /* 42 */ NdrFcShort( 0x6 ), /* Offset= 6 (48) */
  604. /* 44 */
  605. 0x13, 0x0, /* FC_OP */
  606. /* 46 */ NdrFcShort( 0xffffffe6 ), /* Offset= -26 (20) */
  607. /* 48 */ 0xb4, /* FC_USER_MARSHAL */
  608. 0x83, /* 131 */
  609. /* 50 */ NdrFcShort( 0x0 ), /* 0 */
  610. /* 52 */ NdrFcShort( 0x4 ), /* 4 */
  611. /* 54 */ NdrFcShort( 0x0 ), /* 0 */
  612. /* 56 */ NdrFcShort( 0xfffffff4 ), /* Offset= -12 (44) */
  613. 0x0
  614.         }
  615.     };
  616. const CInterfaceProxyVtbl * _myaddinter_ProxyVtblList[] = 
  617. {
  618.     ( CInterfaceProxyVtbl *) &_IMyfirstProxyVtbl,
  619.     ( CInterfaceProxyVtbl *) &_IHelloProxyVtbl,
  620.     0
  621. };
  622. const CInterfaceStubVtbl * _myaddinter_StubVtblList[] = 
  623. {
  624.     ( CInterfaceStubVtbl *) &_IMyfirstStubVtbl,
  625.     ( CInterfaceStubVtbl *) &_IHelloStubVtbl,
  626.     0
  627. };
  628. PCInterfaceName const _myaddinter_InterfaceNamesList[] = 
  629. {
  630.     "IMyfirst",
  631.     "IHello",
  632.     0
  633. };
  634. #define _myaddinter_CHECK_IID(n) IID_GENERIC_CHECK_IID( _myaddinter, pIID, n)
  635. int __stdcall _myaddinter_IID_Lookup( const IID * pIID, int * pIndex )
  636. {
  637.     IID_BS_LOOKUP_SETUP
  638.     IID_BS_LOOKUP_INITIAL_TEST( _myaddinter, 2, 1 )
  639.     IID_BS_LOOKUP_RETURN_RESULT( _myaddinter, 2, *pIndex )
  640.     
  641. }
  642. const ExtendedProxyFileInfo myaddinter_ProxyFileInfo = 
  643. {
  644.     (PCInterfaceProxyVtblList *) & _myaddinter_ProxyVtblList,
  645.     (PCInterfaceStubVtblList *) & _myaddinter_StubVtblList,
  646.     (const PCInterfaceName * ) & _myaddinter_InterfaceNamesList,
  647.     0, // no delegation
  648.     & _myaddinter_IID_Lookup, 
  649.     2,
  650.     1,
  651.     0, /* table of [async_uuid] interfaces */
  652.     0, /* Filler1 */
  653.     0, /* Filler2 */
  654.     0  /* Filler3 */
  655. };