IDESCRIP_P.C
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:10k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /* this ALWAYS GENERATED file contains the proxy stub code */
  2. /* File created by MIDL compiler version 3.03.0110 */
  3. /* at Mon Mar 30 03:49:41 1998
  4.  */
  5. /* Compiler settings for idescrip.idl:
  6.     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, app_config, c_ext
  7.     error checks: none
  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 "idescrip.h"
  19. #define TYPE_FORMAT_STRING_SIZE   11                                
  20. #define PROC_FORMAT_STRING_SIZE   9                                 
  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: IDescription, ver. 0.0,
  36.    GUID={0x00021152,0x0000,0x0000,{0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
  37. extern const MIDL_STUB_DESC Object_StubDesc;
  38. #pragma code_seg(".orpc")
  39. HRESULT STDMETHODCALLTYPE IDescription_GetText_Proxy( 
  40.     IDescription __RPC_FAR * This,
  41.     /* [size_is][out][in] */ LPOLESTR pszText,
  42.     /* [in] */ ULONG cch)
  43. {
  44.     HRESULT _RetVal;
  45.     
  46.     RPC_MESSAGE _RpcMessage;
  47.     
  48.     MIDL_STUB_MESSAGE _StubMsg;
  49.     
  50.     RpcTryExcept
  51.         {
  52.         NdrProxyInitialize(
  53.                       ( void __RPC_FAR *  )This,
  54.                       ( PRPC_MESSAGE  )&_RpcMessage,
  55.                       ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  56.                       ( PMIDL_STUB_DESC  )&Object_StubDesc,
  57.                       3);
  58.         
  59.         
  60.         
  61.         RpcTryFinally
  62.             {
  63.             
  64.             _StubMsg.BufferLength = 12U + 10U;
  65.             _StubMsg.MaxCount = cch;
  66.             
  67.             NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
  68.                                            (unsigned char __RPC_FAR *)pszText,
  69.                                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[4] );
  70.             
  71.             NdrProxyGetBuffer(This, &_StubMsg);
  72.             _StubMsg.MaxCount = cch;
  73.             
  74.             NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
  75.                                          (unsigned char __RPC_FAR *)pszText,
  76.                                          (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[4] );
  77.             
  78.             _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
  79.             *(( ULONG __RPC_FAR * )_StubMsg.Buffer)++ = cch;
  80.             
  81.             NdrProxySendReceive(This, &_StubMsg);
  82.             
  83.             if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  84.                 NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
  85.             
  86.             NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
  87.                                            (unsigned char __RPC_FAR * __RPC_FAR *)&pszText,
  88.                                            (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[4],
  89.                                            (unsigned char)0 );
  90.             
  91.             _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
  92.             _RetVal = *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++;
  93.             
  94.             }
  95.         RpcFinally
  96.             {
  97.             NdrProxyFreeBuffer(This, &_StubMsg);
  98.             
  99.             }
  100.         RpcEndFinally
  101.         
  102.         }
  103.     RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
  104.         {
  105.         _StubMsg.MaxCount = cch;
  106.         
  107.         NdrClearOutParameters(
  108.                          ( PMIDL_STUB_MESSAGE  )&_StubMsg,
  109.                          ( PFORMAT_STRING  )&__MIDL_TypeFormatString.Format[0],
  110.                          ( void __RPC_FAR * )pszText);
  111.         _RetVal = NdrProxyErrorHandler(RpcExceptionCode());
  112.         }
  113.     RpcEndExcept
  114.     return _RetVal;
  115. }
  116. void __RPC_STUB IDescription_GetText_Stub(
  117.     IRpcStubBuffer *This,
  118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  119.     PRPC_MESSAGE _pRpcMessage,
  120.     DWORD *_pdwStubPhase)
  121. {
  122.     HRESULT _RetVal;
  123.     MIDL_STUB_MESSAGE _StubMsg;
  124.     ULONG cch;
  125.     LPOLESTR pszText;
  126.     
  127. NdrStubInitialize(
  128.                      _pRpcMessage,
  129.                      &_StubMsg,
  130.                      &Object_StubDesc,
  131.                      _pRpcChannelBuffer);
  132.     ( LPOLESTR  )pszText = 0;
  133.     RpcTryFinally
  134.         {
  135.         if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
  136.             NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
  137.         
  138.         NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
  139.                                        (unsigned char __RPC_FAR * __RPC_FAR *)&pszText,
  140.                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[4],
  141.                                        (unsigned char)0 );
  142.         
  143.         _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
  144.         cch = *(( ULONG __RPC_FAR * )_StubMsg.Buffer)++;
  145.         
  146.         
  147.         *_pdwStubPhase = STUB_CALL_SERVER;
  148.         _RetVal = (((IDescription *) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetText(
  149.            (IDescription *) ((CStdStubBuffer *)This)->pvServerObject,
  150.            pszText,
  151.            cch);
  152.         
  153.         *_pdwStubPhase = STUB_MARSHAL;
  154.         
  155.         _StubMsg.BufferLength = 12U + 10U;
  156.         _StubMsg.MaxCount = cch;
  157.         
  158.         NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
  159.                                        (unsigned char __RPC_FAR *)pszText,
  160.                                        (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[4] );
  161.         
  162.         _StubMsg.BufferLength += 16;
  163.         
  164.         NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
  165.         _StubMsg.MaxCount = cch;
  166.         
  167.         NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
  168.                                      (unsigned char __RPC_FAR *)pszText,
  169.                                      (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[4] );
  170.         
  171.         _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
  172.         *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++ = _RetVal;
  173.         
  174.         }
  175.     RpcFinally
  176.         {
  177.         _StubMsg.MaxCount = cch;
  178.         
  179.         NdrPointerFree( &_StubMsg,
  180.                         (unsigned char __RPC_FAR *)pszText,
  181.                         &__MIDL_TypeFormatString.Format[0] );
  182.         
  183.         }
  184.     RpcEndFinally
  185.     _pRpcMessage->BufferLength = 
  186.         (unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);
  187.     
  188. }
  189. static const MIDL_STUB_DESC Object_StubDesc = 
  190.     {
  191.     0,
  192.     NdrOleAllocate,
  193.     NdrOleFree,
  194.     0,
  195.     0,
  196.     0,
  197.     0,
  198.     0,
  199.     __MIDL_TypeFormatString.Format,
  200.     0, /* -error bounds_check flag */
  201.     0x10001, /* Ndr library version */
  202.     0,
  203.     0x303006e, /* MIDL Version 3.3.110 */
  204.     0,
  205.     0,
  206.     0,  /* Reserved1 */
  207.     0,  /* Reserved2 */
  208.     0,  /* Reserved3 */
  209.     0,  /* Reserved4 */
  210.     0   /* Reserved5 */
  211.     };
  212. const CINTERFACE_PROXY_VTABLE(4) _IDescriptionProxyVtbl = 
  213. {
  214.     &IID_IDescription,
  215.     IUnknown_QueryInterface_Proxy,
  216.     IUnknown_AddRef_Proxy,
  217.     IUnknown_Release_Proxy ,
  218.     IDescription_GetText_Proxy
  219. };
  220. static const PRPC_STUB_FUNCTION IDescription_table[] =
  221. {
  222.     IDescription_GetText_Stub
  223. };
  224. const CInterfaceStubVtbl _IDescriptionStubVtbl =
  225. {
  226.     &IID_IDescription,
  227.     0,
  228.     4,
  229.     &IDescription_table[-3],
  230.     CStdStubBuffer_METHODS
  231. };
  232. #pragma data_seg(".rdata")
  233. #if !defined(__RPC_WIN32__)
  234. #error  Invalid build platform for this stub.
  235. #endif
  236. static const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString =
  237.     {
  238.         0,
  239.         {
  240. 0x50, /* FC_IN_OUT_PARAM */
  241. #ifndef _ALPHA_
  242. 0x1, /* x86, MIPS & PPC Stack size = 1 */
  243. #else
  244. 0x2, /* Alpha Stack size = 2 */
  245. #endif
  246. /*  2 */ NdrFcShort( 0x0 ), /* Type Offset=0 */
  247. /*  4 */ 0x4e, /* FC_IN_PARAM_BASETYPE */
  248. 0x8, /* FC_LONG */
  249. /*  6 */ 0x53, /* FC_RETURN_PARAM_BASETYPE */
  250. 0x8, /* FC_LONG */
  251. 0x0
  252.         }
  253.     };
  254. static const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString =
  255.     {
  256.         0,
  257.         {
  258. 0x11, 0x0, /* FC_RP */
  259. /*  2 */ NdrFcShort( 0x2 ), /* Offset= 2 (4) */
  260. /*  4 */
  261. 0x25, /* FC_C_WSTRING */
  262. 0x44, /* FC_STRING_SIZED */
  263. /*  6 */ 0x29, /* 41 */
  264. 0x0, /*  */
  265. #ifndef _ALPHA_
  266. /*  8 */ NdrFcShort( 0x8 ), /* x86, MIPS, PPC Stack size/offset = 8 */
  267. #else
  268. NdrFcShort( 0x10 ), /* Alpha Stack size/offset = 16 */
  269. #endif
  270. 0x0
  271.         }
  272.     };
  273. const CInterfaceProxyVtbl * _idescrip_ProxyVtblList[] = 
  274. {
  275.     ( CInterfaceProxyVtbl *) &_IDescriptionProxyVtbl,
  276.     0
  277. };
  278. const CInterfaceStubVtbl * _idescrip_StubVtblList[] = 
  279. {
  280.     ( CInterfaceStubVtbl *) &_IDescriptionStubVtbl,
  281.     0
  282. };
  283. PCInterfaceName const _idescrip_InterfaceNamesList[] = 
  284. {
  285.     "IDescription",
  286.     0
  287. };
  288. #define _idescrip_CHECK_IID(n) IID_GENERIC_CHECK_IID( _idescrip, pIID, n)
  289. int __stdcall _idescrip_IID_Lookup( const IID * pIID, int * pIndex )
  290. {
  291.     
  292.     if(!_idescrip_CHECK_IID(0))
  293.         {
  294.         *pIndex = 0;
  295.         return 1;
  296.         }
  297.     return 0;
  298. }
  299. const ExtendedProxyFileInfo idescrip_ProxyFileInfo = 
  300. {
  301.     (PCInterfaceProxyVtblList *) & _idescrip_ProxyVtblList,
  302.     (PCInterfaceStubVtblList *) & _idescrip_StubVtblList,
  303.     (const PCInterfaceName * ) & _idescrip_InterfaceNamesList,
  304.     0, // no delegation
  305.     & _idescrip_IID_Lookup, 
  306.     1,
  307.     1
  308. };