home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / winbase / security / certsvr / exit / certexit_p.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-30  |  19.4 KB  |  661 lines

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