/* this ALWAYS GENERATED file contains the proxy stub code */
/* File created by MIDL compiler version 5.01.0164 */
/* at Wed Nov 04 15:09:51 2009
*/
/* Compiler settings for .\Chapter4_Server.idl:
Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
error checks: allocation ref bounds_check enum stub_data
*/
//@@MIDL_FILE_HEADING( )
/* verify that the <rpcproxy.h> version is high enough to compile this file*/
#ifndef __REDQ_RPCPROXY_H_VERSION__
#define __REQUIRED_RPCPROXY_H_VERSION__ 440
#endif
#include "rpcproxy.h"
#ifndef __RPCPROXY_H_VERSION__
#error this stub requires an updated version of <rpcproxy.h>
#endif // __RPCPROXY_H_VERSION__
#include "Chapter4_Server.h"
#define TYPE_FORMAT_STRING_SIZE 105
#define PROC_FORMAT_STRING_SIZE 61
typedef struct _MIDL_TYPE_FORMAT_STRING
{
short Pad;
unsigned char Format[ TYPE_FORMAT_STRING_SIZE ];
} MIDL_TYPE_FORMAT_STRING;
typedef struct _MIDL_PROC_FORMAT_STRING
{
short Pad;
unsigned char Format[ PROC_FORMAT_STRING_SIZE ];
} MIDL_PROC_FORMAT_STRING;
extern const MIDL_TYPE_FORMAT_STRING __MIDL_TypeFormatString;
extern const MIDL_PROC_FORMAT_STRING __MIDL_ProcFormatString;
/* Standard interface: __MIDL_itf_Chapter4_Server_0000, ver. 0.0,
GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */
/* Object interface: IUnknown, ver. 0.0,
GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
/* Object interface: IMath, ver. 0.0,
GUID={0x5FB0C22E,0x3343,0x11D1,{0x88,0x3A,0x44,0x45,0x53,0x54,0x00,0x00}} */
extern const MIDL_STUB_DESC Object_StubDesc;
#pragma code_seg(".orpc")
/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMath_Add_Proxy(
IMath __RPC_FAR * This,
/* [in] */ long lOp1,
/* [in] */ long lOp2,
/* [retval][out] */ long __RPC_FAR *plResult)
{
HRESULT _RetVal;
RPC_MESSAGE _RpcMessage;
MIDL_STUB_MESSAGE _StubMsg;
RpcTryExcept
{
NdrProxyInitialize(
( void __RPC_FAR * )This,
( PRPC_MESSAGE )&_RpcMessage,
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PMIDL_STUB_DESC )&Object_StubDesc,
3);
if(!plResult)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
RpcTryFinally
{
_StubMsg.BufferLength = 4U + 4U;
NdrProxyGetBuffer(This, &_StubMsg);
*(( long __RPC_FAR * )_StubMsg.Buffer)++ = lOp1;
*(( long __RPC_FAR * )_StubMsg.Buffer)++ = lOp2;
NdrProxySendReceive(This, &_StubMsg);
if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
*plResult = *(( long __RPC_FAR * )_StubMsg.Buffer)++;
_RetVal = *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++;
}
RpcFinally
{
NdrProxyFreeBuffer(This, &_StubMsg);
}
RpcEndFinally
}
RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
{
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[2],
( void __RPC_FAR * )plResult);
_RetVal = NdrProxyErrorHandler(RpcExceptionCode());
}
RpcEndExcept
return _RetVal;
}
void __RPC_STUB IMath_Add_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase)
{
long _M0;
HRESULT _RetVal;
MIDL_STUB_MESSAGE _StubMsg;
long lOp1;
long lOp2;
long __RPC_FAR *plResult;
NdrStubInitialize(
_pRpcMessage,
&_StubMsg,
&Object_StubDesc,
_pRpcChannelBuffer);
( long __RPC_FAR * )plResult = 0;
RpcTryFinally
{
if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
lOp1 = *(( long __RPC_FAR * )_StubMsg.Buffer)++;
lOp2 = *(( long __RPC_FAR * )_StubMsg.Buffer)++;
plResult = &_M0;
*_pdwStubPhase = STUB_CALL_SERVER;
_RetVal = (((IMath*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> Add(
(IMath *) ((CStdStubBuffer *)This)->pvServerObject,
lOp1,
lOp2,
plResult);
*_pdwStubPhase = STUB_MARSHAL;
_StubMsg.BufferLength = 4U + 4U;
NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
*(( long __RPC_FAR * )_StubMsg.Buffer)++ = *plResult;
*(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++ = _RetVal;
}
RpcFinally
{
}
RpcEndFinally
_pRpcMessage->BufferLength =
(unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);
}
/* [helpstring] */ HRESULT STDMETHODCALLTYPE IMath_Subtract_Proxy(
IMath __RPC_FAR * This,
/* [in] */ long lOp1,
/* [in] */ long lOp2,
/* [retval][out] */ long __RPC_FAR *plResult)
{
HRESULT _RetVal;
RPC_MESSAGE _RpcMessage;
MIDL_STUB_MESSAGE _StubMsg;
RpcTryExcept
{
NdrProxyInitialize(
( void __RPC_FAR * )This,
( PRPC_MESSAGE )&_RpcMessage,
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PMIDL_STUB_DESC )&Object_StubDesc,
4);
if(!plResult)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
RpcTryFinally
{
_StubMsg.BufferLength = 4U + 4U;
NdrProxyGetBuffer(This, &_StubMsg);
*(( long __RPC_FAR * )_StubMsg.Buffer)++ = lOp1;
*(( long __RPC_FAR * )_StubMsg.Buffer)++ = lOp2;
NdrProxySendReceive(This, &_StubMsg);
if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] );
*plResult = *(( long __RPC_FAR * )_StubMsg.Buffer)++;
_RetVal = *(( HRESULT __RPC_FAR * )_StubMsg.Buffer)++;
}
RpcFinally
{
NdrProxyFreeBuffer(This, &_StubMsg);
}
RpcEndFinally
}
RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
{
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[2],
( void __RPC_FAR * )plResult);
_RetVal = NdrProxyErrorHandler(RpcExceptionCode());
}
RpcEndExcept
return _RetVal;
}
void __RPC_STUB IMath_Subtract_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase)
{
long _M1;
HRESULT _RetVal;
MIDL_STUB_MESSAGE _StubMsg;
long lOp1;
long lOp2;
long __RPC_FAR *plResult;
NdrSt
没有合适的资源?快使用搜索试试~ 我知道了~
代理存根的创建(进程外组件)
共46个文件
c:6个
cpp:6个
dsp:5个
4星 · 超过85%的资源 需积分: 12 154 下载量 100 浏览量
2009-11-04
16:39:45
上传
评论 2
收藏 51KB RAR 举报
温馨提示
这是<ATL开发指南源码>中的一个例子,由于缺少代理存根DLL,是的客户端调用进程外组件接口失败. 实现的步骤见http://blog.csdn.net/tttyd/archive/2009/11/04/4768041.aspx
资源推荐
资源详情
资源评论
收起资源包目录
chap04.rar (46个子文件)
chap04
Chapter4_VBClient
Chapter4_VBClient.vbw 51B
Form1.frm 4KB
Chapter4_VBClient.vbp 613B
Chapter4_NativeClient
Chapter4_NativeClient.cpp 4KB
Chapter4_NativeClient.dsp 3KB
Chapter4_NativeClient.plg 276B
Chapter4_NativeClient.001 3KB
proxy_stub
proxy_stub.dsw 348B
proxy_stub.dsp 4KB
proxy_stub.ncb 25KB
Chapter4_Server_i.c 1KB
Chapter4_Server.h 23KB
prxoy_stub.def 241B
proxy_stub.plg 2KB
Chapter4_Server_p.c 72KB
dlldata.c 825B
Chapter4_Server
Chapter4_Server.idl 4KB
StdAfx.cpp 315B
resource.h 643B
Chapter4_Serverps.mk 539B
Chapter4_Server.aps 4KB
Chapter4_Server.cpp 2KB
Chapter4_Serverps.def 257B
Chapter4_Server.tlb 5KB
Math.cpp 4KB
Chapter4_Server.001 16KB
Chapter4_Server.dsp 16KB
Chapter4_Server.rc 3KB
StdAfx.h 983B
Chapter4_Server_i.c 1KB
Math.h 2KB
Chapter4_Server.plg 1KB
Chapter4_Server.h 23KB
Chapter4_Server.clw 281B
Chapter4_Server.rgs 193B
Chapter4_Server_p.c 30KB
dlldata.c 825B
Math.rgs 462B
Chapter4_ATLClient
Chapter4_ATLClient.cpp 4KB
Chapter4_ATLClient.plg 1KB
Chapter4_ATLClient.001 3KB
Chapter4_ATLClient.dsp 3KB
Chapter4_Client
Chapter4_Client.plg 264B
chapter4_client.cpp 5KB
Chapter4_Client.dsp 3KB
Chapter4_Client.001 3KB
共 46 条
- 1
资源评论
- paspp02015-04-16南源码>中的一个例子,由于缺少代理存根DLL,是的客户端调用进程外组件接口失败. 实现的步骤见http://blog.csdn.net/tttyd/archive/2009/11/04/4768041.aspx
- 普通网友2013-04-06玩不太明白,也不好好讲讲
- heyuxiouc2013-06-09还可以,其实感觉代理存根dll就是为进程外exe调用时辅助使用。
- helloangel80022013-01-23感觉不错 但是还是要自己深刻理解
- cqes1232014-05-04完全搞不懂代理存根是什么意思,谢谢分享!
雪影
- 粉丝: 388
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功