NdrStubForwardingFunction 函数 (rpcproxy.h)

NdrStubForwardingFunction 函数是在基接口中定义的服务器端对象方法的入口点。

语法

void NdrStubForwardingFunction(
  [in]      IRpcStubBuffer    *This,
  [in]      IRpcChannelBuffer *pChannel,
  [in, out] PRPC_MESSAGE      pmsg,
  [out]     DWORD             *pdwStubPhase
);

参数

[in] This

指向 CStdStubBuffer 对象的实例的指针,该对象实现 DCOM 接口的 IRpcStubBuffer

[in] pChannel

指向 DCOM 接口的 IRpcChannelBuffer 的 指针,通常由 OLE 提供。

[in, out] pmsg

指向包含 RPC 请求相关信息 的RPC_MESSAGE 结构的指针。

[out] pdwStubPhase

指向跟踪当前解释器调用活动的标志的指针。

返回值

备注

对象接口使用 pdwStubPhase 参数来确定异常处理行为。 下表描述了 pdwStubPhase 参数的可能值。

说明
STUB_UNMARSHAL 存根处于封送阶段。
STUB_CALL_SERVER 存根正在调用服务器管理器例程。
STUB_MARSHAL 存根处于取消封存阶段。
STUB_CALL_SERVER_NO_HRESULT 已过时。 仅适用于已弃用的存根。
 

对于在基接口中定义的方法,RPC 需要将代码转发到基接口实现。

例如:

Interface IFunctionSample: IUnknown

{

HRESULT FunctionSample();

}

Interface IOperation: IFunctionSample

{

HRESULT Operation();

}

在此示例中, IFunctionSampleIOperation 在不同的 .idl 文件中定义。 IFunctionSample 是基接口, IOperation 是派生接口。 IOperation 可以在不实现 IOperation::FunctionSample 的情况下聚合 IOperation。 当客户端在服务器端调用 IOperation::FunctionSample 时,RPC 会将调用转发到 IFunctionSample:FunctionSample

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 rpcproxy.h
Library Rpcrt4.lib
DLL Rpcrt4.dll