1

プロセス間通信に RPC を使用するアプリケーションがあります。「ncalrpc」プロトコル シーケンスで使用される同期 RPC パイプは、Vista では許可されていないことが判明しました。「ncacn_np」に切り替えて、RPC_IF_ALLOW_LOCAL_ONLY フラグを指定して RpcServerRegisterEpEx() を使用したい。

誰もまだ同じことを試しましたか?そのような移行に関連する可能性のある問題はありますか?

4

1 に答える 1

3

フラグの使用法に関する次の情報を見てきました。

...このインターフェイス フラグが登録されると、RPC ランタイムはリモート クライアントによる呼び出しを拒否します。ncacn_np を除いて、ncadg_* および ncacn_* プロトコル シーケンスを使用するすべてのローカル コールも拒否されます。RPC は、呼び出しが SRV からのものではない場合にのみ、ncacn_NP 呼び出しを許可します。ncalrpc からの呼び出しは常に処理されます...

ローカルの RPC は実際に LPC を使用します (Microsoft Windows Internals 4 ed、802 ページから):
ローカル RPC は、同じシステム上にある 2 つのプロセス間の通信に使用でき、RPC ランタイム DLL はローカル プロシージャ コール (LPC) 機能を使用します。ローカル ネットワーク API としてカーネル モードで。

[編集済み] RPC クライアント プロトコルのレジストリ エントリが原因で発生する接続の問題をトラブルシューティング
する方法

于 2009-05-08T14:57:48.267 に答える