RpcSsSetThreadHandle 関数 (rpcndr.h)

RpcSsSetThreadHandle 関数は、スタブ メモリ管理環境のスレッド ハンドルを設定します。

構文

void RpcSsSetThreadHandle(
  RPC_SS_THREAD_HANDLE Id
);

パラメーター

Id

RpcSsGetThreadHandle の呼び出しによって返されるスレッド ハンドル。

戻り値

なし

解説

アプリケーションは RpcSsSetThreadHandle を呼び出して、スタブ メモリ管理環境のスレッド ハンドルを設定します。 スタブ メモリ管理環境のメモリを管理するために使用されるスレッドは 、RpcSsGetThreadHandle を呼び出して、そのメモリ環境のハンドルを取得します。 このようにして、このハンドルを使用して RpcSsSetThreadHandle を呼び出す別のスレッドは、同じメモリ管理環境を使用できます。

同じメモリを管理するには、 RpcSsAllocateRpcSsFree を呼び出す複数のスレッドで同じスレッド ハンドルを使用する必要があります。 同じメモリを管理するために新しいスレッドを生成する前に、メモリ管理環境 (親スレッド) を確立したスレッドは RpcSsGetThreadHandle を呼び出して、この環境のスレッド ハンドルを取得します。 次に、生成されたスレッドは、親スレッドによって提供されるハンドルを使用して RpcSsSetThreadHandle を呼び出します。

通常、サーバー マネージャー プロシージャによって生成されたスレッドは 、RpcSsSetThreadHandle を呼び出します。 スタブはマネージャー プロシージャのメモリ管理環境を設定し、マネージャーは RpcSsGetThreadHandle を呼び出してスレッド ハンドルを取得します。 その後、生成された各スレッドは RpcSsGetThreadHandle を呼び出して、マネージャーのメモリ管理環境にアクセスします。

スレッドは 、RpcSsGetThreadHandleRpcSsSetThreadHandle を呼び出して、メモリ管理環境を保存および復元することもできます。

メモRpcSsSetThreadHandle ルーチンは例外を発生させますが、RpcSmSetThreadHandle ルーチンはエラー コードを返します。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー rpcndr.h (Rpc.h を含む)
Library Rpcrt4.lib
[DLL] Rpcrt4.dll

こちらもご覧ください

RpcSmSetThreadHandle

RpcSsAllocate

RpcSsFree

RpcSsGetThreadHandle