次の方法で共有


RpcSmSetThreadHandle 関数 (rpcndr.h)

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

構文

RPC_STATUS RpcSmSetThreadHandle(
  RPC_SS_THREAD_HANDLE Id
);

パラメーター

Id

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

戻り値

意味
RPC_S_OK
呼び出しは成功しました。
 
メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

注釈

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

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

RpcSmSetThreadHandle は通常、サーバー マネージャー プロシージャによって生成されたスレッドによって呼び出されることに注意してください。 スタブはマネージャー プロシージャのメモリ管理環境を設定し、マネージャーは RpcSmGetThreadHandle を呼び出してスレッド ハンドルを取得します。 次に、生成された各スレッドは RpcSmGetThreadHandle を呼び出して、マネージャーのメモリ管理環境にアクセスします。

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

要件

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

こちらもご覧ください

RpcSmAllocate

RpcSmFree

RpcSmGetThreadHandle