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

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 Fri Feb 26 16:20:22 2010
  4.  */
  5. /* Compiler settings for D:VCday11SmartPtrDemoSmartPtrDemo.idl:
  6.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8. */
  9. //@@MIDL_FILE_HEADING(  )
  10. #define USE_STUBLESS_PROXY
  11. /* verify that the <rpcproxy.h> version is high enough to compile this file*/
  12. #ifndef __REDQ_RPCPROXY_H_VERSION__
  13. #define __REQUIRED_RPCPROXY_H_VERSION__ 440
  14. #endif
  15. #include "rpcproxy.h"
  16. #ifndef __RPCPROXY_H_VERSION__
  17. #error this stub requires an updated version of <rpcproxy.h>
  18. #endif // __RPCPROXY_H_VERSION__
  19. #include "SmartPtrDemo.h"
  20. #define TYPE_FORMAT_STRING_SIZE   55                                
  21. #define PROC_FORMAT_STRING_SIZE   35                                
  22. typedef struct _MIDL_TYPE_FORMAT_STRING
  23.     {
  24.     short          Pad;
  25.     unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];
  26.     } MIDL_TYPE_FORMAT_STRING;
  27. typedef struct _MIDL_PROC_FORMAT_STRING
  28.     {
  29.     short          Pad;
  30.     unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];
  31.     } MIDL_PROC_FORMAT_STRING;
  32. extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
  33. extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
  34. /* Object interface: IUnknown, ver. 0.0,
  35.    GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
  36. /* Object interface: IDispatch, ver. 0.0,
  37.    GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
  38. /* Object interface: IMyAbc, ver. 0.0,
  39.    GUID={0xDA631CA4,0x7924,0x44A7,{0x90,0xF3,0x23,0xB6,0xC0,0xF4,0x00,0x4F}} */
  40. extern const MIDL_STUB_DESC Object_StubDesc;
  41. extern const MIDL_SERVER_INFO IMyAbc_ServerInfo;
  42. #pragma code_seg(".orpc")
  43. extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1];
  44. static const MIDL_STUB_DESC Object_StubDesc = 
  45.     {
  46.     0,
  47.     NdrOleAllocate,
  48.     NdrOleFree,
  49.     0,
  50.     0,
  51.     0,
  52.     0,
  53.     0,
  54.     __MIDL_TypeFormatString.Format,
  55.     1, /* -error bounds_check flag */
  56.     0x20000, /* Ndr library version */
  57.     0,
  58.     0x50100a4, /* MIDL Version 5.1.164 */
  59.     0,
  60.     UserMarshalRoutines,
  61.     0,  /* notify & notify_flag routine table */
  62.     1,  /* Flags */
  63.     0,  /* Reserved3 */
  64.     0,  /* Reserved4 */
  65.     0   /* Reserved5 */
  66.     };
  67. static const unsigned short IMyAbc_FormatStringOffsetTable[] = 
  68.     {
  69.     (unsigned short) -1,
  70.     (unsigned short) -1,
  71.     (unsigned short) -1,
  72.     (unsigned short) -1,
  73.     0
  74.     };
  75. static const MIDL_SERVER_INFO IMyAbc_ServerInfo = 
  76.     {
  77.     &Object_StubDesc,
  78.     0,
  79.     __MIDL_ProcFormatString.Format,
  80.     &IMyAbc_FormatStringOffsetTable[-3],
  81.     0,
  82.     0,
  83.     0,
  84.     0
  85.     };
  86. static const MIDL_STUBLESS_PROXY_INFO IMyAbc_ProxyInfo =
  87.     {
  88.     &Object_StubDesc,
  89.     __MIDL_ProcFormatString.Format,
  90.     &IMyAbc_FormatStringOffsetTable[-3],
  91.     0,
  92.     0,
  93.     0
  94.     };
  95. CINTERFACE_PROXY_VTABLE(8) _IMyAbcProxyVtbl = 
  96. {
  97.     &IMyAbc_ProxyInfo,
  98.     &IID_IMyAbc,
  99.     IUnknown_QueryInterface_Proxy,
  100.     IUnknown_AddRef_Proxy,
  101.     IUnknown_Release_Proxy ,
  102.     0 /* (void *)-1 /* IDispatch::GetTypeInfoCount */ ,
  103.     0 /* (void *)-1 /* IDispatch::GetTypeInfo */ ,
  104.     0 /* (void *)-1 /* IDispatch::GetIDsOfNames */ ,
  105.     0 /* IDispatch_Invoke_Proxy */ ,
  106.     (void *)-1 /* IMyAbc::Hello */
  107. };
  108. static const PRPC_STUB_FUNCTION IMyAbc_table[] =
  109. {
  110.     STUB_FORWARDING_FUNCTION,
  111.     STUB_FORWARDING_FUNCTION,
  112.     STUB_FORWARDING_FUNCTION,
  113.     STUB_FORWARDING_FUNCTION,
  114.     NdrStubCall2
  115. };
  116. CInterfaceStubVtbl _IMyAbcStubVtbl =
  117. {
  118.     &IID_IMyAbc,
  119.     &IMyAbc_ServerInfo,
  120.     8,
  121.     &IMyAbc_table[-3],
  122.     CStdStubBuffer_DELEGATING_METHODS
  123. };
  124. #pragma data_seg(".rdata")
  125. static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[1] = 
  126.         {
  127.             
  128.             {
  129.             BSTR_UserSize
  130.             ,BSTR_UserMarshal
  131.             ,BSTR_UserUnmarshal
  132.             ,BSTR_UserFree
  133.             }
  134.         };
  135. #if !defined(__RPC_WIN32__)
  136. #error  Invalid build platform for this stub.
  137. #endif
  138. #if !(TARGET_IS_NT40_OR_LATER)
  139. #error You need a Windows NT 4.0 or later to run this stub because it uses these features:
  140. #error   -Oif or -Oicf, [wire_marshal] or [user_marshal] attribute, more than 32 methods in the interface.
  141. #error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.
  142. #error This app will die there with the RPC_X_WRONG_STUB_VERSION error.
  143. #endif
  144. static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
  145.     {
  146.         0,
  147.         {
  148. /* Procedure Hello */
  149. 0x33, /* FC_AUTO_HANDLE */
  150. 0x6c, /* Old Flags:  object, Oi2 */
  151. /*  2 */ NdrFcLong( 0x0 ), /* 0 */
  152. /*  6 */ NdrFcShort( 0x7 ), /* 7 */
  153. #ifndef _ALPHA_
  154. /*  8 */ NdrFcShort( 0x10 ), /* x86, MIPS, PPC Stack size/offset = 16 */
  155. #else
  156. NdrFcShort( 0x20 ), /* Alpha Stack size/offset = 32 */
  157. #endif
  158. /* 10 */ NdrFcShort( 0x0 ), /* 0 */
  159. /* 12 */ NdrFcShort( 0x8 ), /* 8 */
  160. /* 14 */ 0x7, /* Oi2 Flags:  srv must size, clt must size, has return, */
  161. 0x3, /* 3 */
  162. /* Parameter name */
  163. /* 16 */ NdrFcShort( 0x8b ), /* Flags:  must size, must free, in, by val, */
  164. #ifndef _ALPHA_
  165. /* 18 */ NdrFcShort( 0x4 ), /* x86, MIPS, PPC Stack size/offset = 4 */
  166. #else
  167. NdrFcShort( 0x8 ), /* Alpha Stack size/offset = 8 */
  168. #endif
  169. /* 20 */ NdrFcShort( 0x1a ), /* Type Offset=26 */
  170. /* Parameter bstrResult */
  171. /* 22 */ NdrFcShort( 0x2113 ), /* Flags:  must size, must free, out, simple ref, srv alloc size=8 */
  172. #ifndef _ALPHA_
  173. /* 24 */ NdrFcShort( 0x8 ), /* x86, MIPS, PPC Stack size/offset = 8 */
  174. #else
  175. NdrFcShort( 0x10 ), /* Alpha Stack size/offset = 16 */
  176. #endif
  177. /* 26 */ NdrFcShort( 0x2c ), /* Type Offset=44 */
  178. /* Return value */
  179. /* 28 */ NdrFcShort( 0x70 ), /* Flags:  out, return, base type, */
  180. #ifndef _ALPHA_
  181. /* 30 */ NdrFcShort( 0xc ), /* x86, MIPS, PPC Stack size/offset = 12 */
  182. #else
  183. NdrFcShort( 0x18 ), /* Alpha Stack size/offset = 24 */
  184. #endif
  185. /* 32 */ 0x8, /* FC_LONG */
  186. 0x0, /* 0 */
  187. 0x0
  188.         }
  189.     };
  190. static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
  191.     {
  192.         0,
  193.         {
  194. NdrFcShort( 0x0 ), /* 0 */
  195. /*  2 */
  196. 0x12, 0x0, /* FC_UP */
  197. /*  4 */ NdrFcShort( 0xc ), /* Offset= 12 (16) */
  198. /*  6 */
  199. 0x1b, /* FC_CARRAY */
  200. 0x1, /* 1 */
  201. /*  8 */ NdrFcShort( 0x2 ), /* 2 */
  202. /* 10 */ 0x9, /* Corr desc: FC_ULONG */
  203. 0x0, /*  */
  204. /* 12 */ NdrFcShort( 0xfffc ), /* -4 */
  205. /* 14 */ 0x6, /* FC_SHORT */
  206. 0x5b, /* FC_END */
  207. /* 16 */
  208. 0x17, /* FC_CSTRUCT */
  209. 0x3, /* 3 */
  210. /* 18 */ NdrFcShort( 0x8 ), /* 8 */
  211. /* 20 */ NdrFcShort( 0xfffffff2 ), /* Offset= -14 (6) */
  212. /* 22 */ 0x8, /* FC_LONG */
  213. 0x8, /* FC_LONG */
  214. /* 24 */ 0x5c, /* FC_PAD */
  215. 0x5b, /* FC_END */
  216. /* 26 */ 0xb4, /* FC_USER_MARSHAL */
  217. 0x83, /* 131 */
  218. /* 28 */ NdrFcShort( 0x0 ), /* 0 */
  219. /* 30 */ NdrFcShort( 0x4 ), /* 4 */
  220. /* 32 */ NdrFcShort( 0x0 ), /* 0 */
  221. /* 34 */ NdrFcShort( 0xffffffe0 ), /* Offset= -32 (2) */
  222. /* 36 */
  223. 0x11, 0x4, /* FC_RP [alloced_on_stack] */
  224. /* 38 */ NdrFcShort( 0x6 ), /* Offset= 6 (44) */
  225. /* 40 */
  226. 0x13, 0x0, /* FC_OP */
  227. /* 42 */ NdrFcShort( 0xffffffe6 ), /* Offset= -26 (16) */
  228. /* 44 */ 0xb4, /* FC_USER_MARSHAL */
  229. 0x83, /* 131 */
  230. /* 46 */ NdrFcShort( 0x0 ), /* 0 */
  231. /* 48 */ NdrFcShort( 0x4 ), /* 4 */
  232. /* 50 */ NdrFcShort( 0x0 ), /* 0 */
  233. /* 52 */ NdrFcShort( 0xfffffff4 ), /* Offset= -12 (40) */
  234. 0x0
  235.         }
  236.     };
  237. const CInterfaceProxyVtbl * _SmartPtrDemo_ProxyVtblList[] = 
  238. {
  239.     ( CInterfaceProxyVtbl *) &_IMyAbcProxyVtbl,
  240.     0
  241. };
  242. const CInterfaceStubVtbl * _SmartPtrDemo_StubVtblList[] = 
  243. {
  244.     ( CInterfaceStubVtbl *) &_IMyAbcStubVtbl,
  245.     0
  246. };
  247. PCInterfaceName const _SmartPtrDemo_InterfaceNamesList[] = 
  248. {
  249.     "IMyAbc",
  250.     0
  251. };
  252. const IID *  _SmartPtrDemo_BaseIIDList[] = 
  253. {
  254.     &IID_IDispatch,
  255.     0
  256. };
  257. #define _SmartPtrDemo_CHECK_IID(n) IID_GENERIC_CHECK_IID( _SmartPtrDemo, pIID, n)
  258. int __stdcall _SmartPtrDemo_IID_Lookup( const IID * pIID, int * pIndex )
  259. {
  260.     
  261.     if(!_SmartPtrDemo_CHECK_IID(0))
  262.         {
  263.         *pIndex = 0;
  264.         return 1;
  265.         }
  266.     return 0;
  267. }
  268. const ExtendedProxyFileInfo SmartPtrDemo_ProxyFileInfo = 
  269. {
  270.     (PCInterfaceProxyVtblList *) & _SmartPtrDemo_ProxyVtblList,
  271.     (PCInterfaceStubVtblList *) & _SmartPtrDemo_StubVtblList,
  272.     (const PCInterfaceName * ) & _SmartPtrDemo_InterfaceNamesList,
  273.     (const IID ** ) & _SmartPtrDemo_BaseIIDList,
  274.     & _SmartPtrDemo_IID_Lookup, 
  275.     1,
  276.     2,
  277.     0, /* table of [async_uuid] interfaces */
  278.     0, /* Filler1 */
  279.     0, /* Filler2 */
  280.     0  /* Filler3 */
  281. };