次の方法で共有


RpcSmGetThreadHandle 関数 (rpcndr.h)

RpcSmGetThreadHandle 関数は、スタブ メモリ管理環境のスレッド ハンドル (NULL) を返します。

構文

RPC_SS_THREAD_HANDLE RpcSmGetThreadHandle(
  RPC_STATUS *pStatus
);

パラメーター

pStatus

返された状態へのポインター。

戻り値

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

注釈

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

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

RpcSmSetThreadHandle