更新 : 2007 年 11 月
リモート処理呼び出しがクライアントで実行されて完了したことをプロファイラに通知します。
HRESULT RemotingClientInvocationFinished();
解説
リモート処理呼び出しが同期的であった場合、処理はサーバー上でも実行されて完了します。リモート処理呼び出しが非同期的であった場合は、呼び出しを処理するときに応答が必要になることがあります。応答が必要な場合、応答は ICorProfilerCallback::RemotingClientReceivingReply の呼び出しとして発生し、また非同期呼び出しの 2 番目の処理が必要であることを示すために RemotingClientInvocationFinished の追加の呼び出しも発生します。
同じスレッドで、対になった次の各コールバックの組み合わせが発生します。
RemotingClientInvocationStarted と ICorProfilerCallback::RemotingClientSendingMessage
ICorProfilerCallback::RemotingClientReceivingReply と ICorProfilerCallback::RemotingClientInvocationFinished
ICorProfilerCallback::RemotingServerInvocationReturned と ICorProfilerCallback::RemotingServerSendingReply
リモート処理コールバックでは次の事項に注意が必要です。
リモート処理関数の実行はプロファイラ API では反映されないため、クライアントから呼び出されサーバー上で実行された関数の通知は正しく受信されません。実際の呼び出しはプロキシ オブジェクトを介してプロファイラに対して実行されるため、特定の関数が JIT コンパイルされるように見えても、その関数が使用されることはありません。
プロファイラは、非同期のリモート処理イベントについての正確な通知を受信しません。
必要条件
プラットフォーム : 「.NET Framework システム要件」を参照
ヘッダー : CorProf.idl
ライブラリ : CorGuids.lib
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0