NdrStubForwardingFunction 関数 (rpcproxy.h)
NdrStubForwardingFunction 関数は、基本インターフェイスで定義されているサーバー側オブジェクト メソッドのエントリ ポイントです。
構文
void NdrStubForwardingFunction(
[in] IRpcStubBuffer *This,
[in] IRpcChannelBuffer *pChannel,
[in, out] PRPC_MESSAGE pmsg,
[out] DWORD *pdwStubPhase
);
パラメーター
[in] This
DCOM インターフェイスの IRpcStubBuffer を実装する CStdStubBuffer オブジェクトのインスタンスへのポインター。
[in] pChannel
多くの場合、OLE によって提供される DCOM インターフェイスの IRpcChannelBuffer へのポインター。
[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();
}
この例では、 IFunctionSample と IOperation が異なる .idl ファイルで定義されています。 IFunctionSample は基本インターフェイスであり、 IOperation は派生インターフェイスです。 IOperation では、IOperation::FunctionSample を実装せずに IOperation を集計できます。 クライアントが IOperation::FunctionSample を呼び出すと、サーバー側で RPC によって呼び出しが IFunctionSample:FunctionSample に転送されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcproxy.h |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |