home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / dcom / comperf / psperf_p.c < prev    next >
C/C++ Source or Header  |  1998-03-30  |  8KB  |  325 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 02:34:57 1998
  6.  */
  7. /* Compiler settings for psperf.idl:
  8.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12.  
  13. #define USE_STUBLESS_PROXY
  14.  
  15.  
  16. /* verify that the <rpcproxy.h> version is high enough to compile this file*/
  17. #ifndef __REDQ_RPCPROXY_H_VERSION__
  18. #define __REQUIRED_RPCPROXY_H_VERSION__ 440
  19. #endif
  20.  
  21.  
  22. #include "rpcproxy.h"
  23. #ifndef __RPCPROXY_H_VERSION__
  24. #error this stub requires an updated version of <rpcproxy.h>
  25. #endif // __RPCPROXY_H_VERSION__
  26.  
  27.  
  28. #include "psperf.h"
  29.  
  30. #define TYPE_FORMAT_STRING_SIZE   35                                
  31. #define PROC_FORMAT_STRING_SIZE   49                                
  32.  
  33. typedef struct _MIDL_TYPE_FORMAT_STRING
  34.     {
  35.     short          Pad;
  36.     unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
  37.     } MIDL_TYPE_FORMAT_STRING;
  38.  
  39. typedef struct _MIDL_PROC_FORMAT_STRING
  40.     {
  41.     short          Pad;
  42.     unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
  43.     } MIDL_PROC_FORMAT_STRING;
  44.  
  45.  
  46. extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
  47. extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
  48.  
  49.  
  50. /* Object interface: IUnknown, ver. 0.0,
  51.    GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
  52.  
  53.  
  54. /* Object interface: ICOMPerformance, ver. 0.0,
  55.    GUID={0xDDC68871,0xE08E,0x11cf,{0xA5,0x35,0x00,0xAA,0x00,0x61,0x5B,0x03}} */
  56.  
  57.  
  58. extern const MIDL_STUB_DESC Object_StubDesc;
  59.  
  60.  
  61. extern const MIDL_SERVER_INFO ICOMPerformance_ServerInfo;
  62.  
  63. #pragma code_seg(".orpc")
  64. extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1];
  65.  
  66. static const MIDL_STUB_DESC Object_StubDesc = 
  67.     {
  68.     0,
  69.     NdrOleAllocate,
  70.     NdrOleFree,
  71.     0,
  72.     0,
  73.     0,
  74.     0,
  75.     0,
  76.     __MIDL_TypeFormatString.Format,
  77.     0, /* -error bounds_check flag */
  78.     0x20000, /* Ndr library version */
  79.     0,
  80.     0x303006e, /* MIDL Version 3.3.110 */
  81.     0,
  82.     UserMarshalRoutines,
  83.     0,  /* Reserved1 */
  84.     0,  /* Reserved2 */
  85.     0,  /* Reserved3 */
  86.     0,  /* Reserved4 */
  87.     0   /* Reserved5 */
  88.     };
  89.  
  90. static const unsigned short ICOMPerformance_FormatStringOffsetTable[] = 
  91.     {
  92.     0,
  93.     24
  94.     };
  95.  
  96. static const MIDL_SERVER_INFO ICOMPerformance_ServerInfo = 
  97.     {
  98.     &Object_StubDesc,
  99.     0,
  100.     __MIDL_ProcFormatString.Format,
  101.     &ICOMPerformance_FormatStringOffsetTable[-3],
  102.     0,
  103.     0,
  104.     0,
  105.     0
  106.     };
  107.  
  108. static const MIDL_STUBLESS_PROXY_INFO ICOMPerformance_ProxyInfo =
  109.     {
  110.     &Object_StubDesc,
  111.     __MIDL_ProcFormatString.Format,
  112.     &ICOMPerformance_FormatStringOffsetTable[-3],
  113.     0,
  114.     0,
  115.     0
  116.     };
  117.  
  118. CINTERFACE_PROXY_VTABLE(5) _ICOMPerformanceProxyVtbl = 
  119. {
  120.     &ICOMPerformance_ProxyInfo,
  121.     &IID_ICOMPerformance,
  122.     IUnknown_QueryInterface_Proxy,
  123.     IUnknown_AddRef_Proxy,
  124.     IUnknown_Release_Proxy ,
  125.     (void *)-1 /* ICOMPerformance::Test1 */ ,
  126.     (void *)-1 /* ICOMPerformance::Test23 */
  127. };
  128.  
  129. const CInterfaceStubVtbl _ICOMPerformanceStubVtbl =
  130. {
  131.     &IID_ICOMPerformance,
  132.     &ICOMPerformance_ServerInfo,
  133.     5,
  134.     0, /* pure interpreted */
  135.     CStdStubBuffer_METHODS
  136. };
  137.  
  138. #pragma data_seg(".rdata")
  139.  
  140. static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1] = 
  141.         {
  142.             
  143.             {
  144.             BSTR_UserSize
  145.             ,BSTR_UserMarshal
  146.             ,BSTR_UserUnmarshal
  147.             ,BSTR_UserFree
  148.             }
  149.  
  150.         };
  151.  
  152.  
  153. #if !defined(__RPC_WIN32__)
  154. #error  Invalid build platform for this stub.
  155. #endif
  156.  
  157. #if !(TARGET_IS_NT40_OR_LATER)
  158. #error You need a Windows NT 4.0 or later to run this stub because it uses these features:
  159. #error   -Oif or -Oicf, [wire_marshal] or [user_marshal] attribute, more than 32 methods in the interface.
  160. #error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
  161. #error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
  162. #endif
  163.  
  164.  
  165. static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
  166.     {
  167.         0,
  168.         {
  169.  
  170.     /* Procedure Test1 */
  171.  
  172.             0x33,        /* FC_AUTO_HANDLE */
  173.             0x64,        /* 100 */
  174. /*  2 */    NdrFcShort( 0x3 ),    /* 3 */
  175. #ifndef _ALPHA_
  176. /*  4 */    NdrFcShort( 0xc ),    /* x86, MIPS, PPC Stack size/offset = 12 */
  177. #else
  178.             NdrFcShort( 0x18 ),    /* Alpha Stack size/offset = 24 */
  179. #endif
  180. /*  6 */    NdrFcShort( 0x8 ),    /* 8 */
  181. /*  8 */    NdrFcShort( 0x8 ),    /* 8 */
  182. /* 10 */    0x4,        /* 4 */
  183.             0x2,        /* 2 */
  184.  
  185.     /* Parameter l */
  186.  
  187. /* 12 */    NdrFcShort( 0x48 ),    /* 72 */
  188. #ifndef _ALPHA_
  189. /* 14 */    NdrFcShort( 0x4 ),    /* x86, MIPS, PPC Stack size/offset = 4 */
  190. #else
  191.             NdrFcShort( 0x8 ),    /* Alpha Stack size/offset = 8 */
  192. #endif
  193. /* 16 */    0x8,        /* FC_LONG */
  194.             0x0,        /* 0 */
  195.  
  196.     /* Return value */
  197.  
  198. /* 18 */    NdrFcShort( 0x70 ),    /* 112 */
  199. #ifndef _ALPHA_
  200. /* 20 */    NdrFcShort( 0x8 ),    /* x86, MIPS, PPC Stack size/offset = 8 */
  201. #else
  202.             NdrFcShort( 0x10 ),    /* Alpha Stack size/offset = 16 */
  203. #endif
  204. /* 22 */    0x8,        /* FC_LONG */
  205.             0x0,        /* 0 */
  206.  
  207.     /* Procedure Test23 */
  208.  
  209. /* 24 */    0x33,        /* FC_AUTO_HANDLE */
  210.             0x64,        /* 100 */
  211. /* 26 */    NdrFcShort( 0x4 ),    /* 4 */
  212. #ifndef _ALPHA_
  213. /* 28 */    NdrFcShort( 0xc ),    /* x86, MIPS, PPC Stack size/offset = 12 */
  214. #else
  215.             NdrFcShort( 0x18 ),    /* Alpha Stack size/offset = 24 */
  216. #endif
  217. /* 30 */    NdrFcShort( 0x0 ),    /* 0 */
  218. /* 32 */    NdrFcShort( 0x8 ),    /* 8 */
  219. /* 34 */    0x6,        /* 6 */
  220.             0x2,        /* 2 */
  221.  
  222.     /* Parameter szDesc */
  223.  
  224. /* 36 */    NdrFcShort( 0x8b ),    /* 139 */
  225. #ifndef _ALPHA_
  226. /* 38 */    NdrFcShort( 0x4 ),    /* x86, MIPS, PPC Stack size/offset = 4 */
  227. #else
  228.             NdrFcShort( 0x8 ),    /* Alpha Stack size/offset = 8 */
  229. #endif
  230. /* 40 */    NdrFcShort( 0x18 ),    /* Type Offset=24 */
  231.  
  232.     /* Return value */
  233.  
  234. /* 42 */    NdrFcShort( 0x70 ),    /* 112 */
  235. #ifndef _ALPHA_
  236. /* 44 */    NdrFcShort( 0x8 ),    /* x86, MIPS, PPC Stack size/offset = 8 */
  237. #else
  238.             NdrFcShort( 0x10 ),    /* Alpha Stack size/offset = 16 */
  239. #endif
  240. /* 46 */    0x8,        /* FC_LONG */
  241.             0x0,        /* 0 */
  242.  
  243.             0x0
  244.         }
  245.     };
  246.  
  247. static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
  248.     {
  249.         0,
  250.         {
  251.             0x12, 0x0,    /* FC_UP */
  252. /*  2 */    NdrFcShort( 0xc ),    /* Offset= 12 (14) */
  253. /*  4 */    
  254.             0x1b,        /* FC_CARRAY */
  255.             0x1,        /* 1 */
  256. /*  6 */    NdrFcShort( 0x2 ),    /* 2 */
  257. /*  8 */    0x9,        /* 9 */
  258.             0x0,        /*  */
  259. /* 10 */    NdrFcShort( 0xfffffffc ),    /* -4 */
  260. /* 12 */    0x6,        /* FC_SHORT */
  261.             0x5b,        /* FC_END */
  262. /* 14 */    
  263.             0x17,        /* FC_CSTRUCT */
  264.             0x3,        /* 3 */
  265. /* 16 */    NdrFcShort( 0x8 ),    /* 8 */
  266. /* 18 */    NdrFcShort( 0xfffffff2 ),    /* Offset= -14 (4) */
  267. /* 20 */    0x8,        /* FC_LONG */
  268.             0x8,        /* FC_LONG */
  269. /* 22 */    0x5c,        /* FC_PAD */
  270.             0x5b,        /* FC_END */
  271. /* 24 */    0xb4,        /* FC_USER_MARSHAL */
  272.             0x83,        /* 131 */
  273. /* 26 */    NdrFcShort( 0x0 ),    /* 0 */
  274. /* 28 */    NdrFcShort( 0x4 ),    /* 4 */
  275. /* 30 */    NdrFcShort( 0x0 ),    /* 0 */
  276. /* 32 */    NdrFcShort( 0xffffffe0 ),    /* Offset= -32 (0) */
  277.  
  278.             0x0
  279.         }
  280.     };
  281.  
  282. const CInterfaceProxyVtbl * _psperf_ProxyVtblList[] = 
  283. {
  284.     ( CInterfaceProxyVtbl *) &_ICOMPerformanceProxyVtbl,
  285.     0
  286. };
  287.  
  288. const CInterfaceStubVtbl * _psperf_StubVtblList[] = 
  289. {
  290.     ( CInterfaceStubVtbl *) &_ICOMPerformanceStubVtbl,
  291.     0
  292. };
  293.  
  294. PCInterfaceName const _psperf_InterfaceNamesList[] = 
  295. {
  296.     "ICOMPerformance",
  297.     0
  298. };
  299.  
  300.  
  301. #define _psperf_CHECK_IID(n)    IID_GENERIC_CHECK_IID( _psperf, pIID, n)
  302.  
  303. int __stdcall _psperf_IID_Lookup( const IID * pIID, int * pIndex )
  304. {
  305.     
  306.     if(!_psperf_CHECK_IID(0))
  307.         {
  308.         *pIndex = 0;
  309.         return 1;
  310.         }
  311.  
  312.     return 0;
  313. }
  314.  
  315. const ExtendedProxyFileInfo psperf_ProxyFileInfo = 
  316. {
  317.     (PCInterfaceProxyVtblList *) & _psperf_ProxyVtblList,
  318.     (PCInterfaceStubVtblList *) & _psperf_StubVtblList,
  319.     (const PCInterfaceName * ) & _psperf_InterfaceNamesList,
  320.     0, // no delegation
  321.     & _psperf_IID_Lookup, 
  322.     1,
  323.     2
  324. };
  325.