次の方法で共有


RpcSsDontSerializeContext 関数 (rpcdce.h)

RpcSsDontSerializeContext 関数は、同じコンテキスト ハンドル上のサーバー マネージャー ルーチンにディスパッチされた複数の呼び出しの実行時のシリアル化を無効にします。 この関数の使用はお勧めしません。 開発者は、代わりに混合モードとコンテンツ ハンドルのシリアル化を使用する必要があります。 「関連項目」セクションには、より適切な関数へのリンクが表示されます。

構文

void RpcSsDontSerializeContext();

戻り値

なし

解説

RpcSsDontSerializeContext 関数は、実行時にこのシリアル化サービスを実行できないようにし、特定のコンテキスト ハンドルで複数の呼び出しをディスパッチできるようにします。 この関数を呼び出しても、シリアル化が完全に無効になるわけではありません。コンテキストの実行が停止した場合、未処理のすべてのクライアント要求が完了するまで、コンテキスト ランダウン ルーチンは実行されません。 コンテキスト ハンドルの状態の変更 (通常はコンテキスト ハンドルの解放を含む) は、引き続きシリアル化する必要があります。

分散アプリケーションが RpcSsDontSerializeContext 関数を呼び出す場合は、サーバー プログラムがリモート プロシージャ 呼び出しの処理を開始する前に呼び出しを行うことをお勧めします。

メモ 通常、RPC ランタイムは、サーバー マネージャー ルーチンにディスパッチされたのと同じコンテキスト ハンドルで呼び出しをシリアル化します。 コンテキスト ハンドルはクライアントごとに管理され、通常はサーバー側の状態を表します。 つまり、サーバー マネージャーは、同じクライアントからの別のスレッドに対して、コンテキストを変更したり、呼び出しのディスパッチ中に実行されているコンテキストに対して保護したりする必要はありません。
 
メモ 呼び出された後、 RpcSsDontSerializeContext 関数は、プロセスの有効期間中は元に戻すことができません。
 

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー rpcdce.h
Library Rpcrt4.lib
[DLL] Rpcrt4.dll

関連項目

マルチスレッド クライアントとコンテキスト ハンドル

RpcSsContextLockExclusive

RpcSsContextLockShared

サーバー コンテキストの実行ルーチン

context_handle_noserialize

context_handle_serialize