次の方法で共有


RpcBindingCopy 関数 (rpcdce.h)

RpcBindingCopy 関数は、バインド情報をコピーし、新しいバインド ハンドルを作成します。

構文

RPC_STATUS RpcBindingCopy(
  RPC_BINDING_HANDLE SourceBinding,
  RPC_BINDING_HANDLE *DestinationBinding
);

パラメーター

SourceBinding

参照されるバインディング情報がコピーされるサーバー バインド ハンドル。

DestinationBinding

コピーしたバインド情報を参照するサーバー バインド ハンドルへのポインターを返します。

戻り値

意味
RPC_S_OK
呼び出しは成功しました。
RPC_S_INVALID_BINDING
バインド ハンドルが無効です。
RPC_S_WRONG_KIND_OF_BINDING
これは、操作のバインドの種類が間違っていました。
 
メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

注釈

RpcBindingCopy 関数は、SourceBinding パラメーターによって参照されるサーバー バインド情報をコピーします。 RpcBindingCopyDestinationBinding パラメーターを 使用して、コピーされたバインド情報の新しいサーバー バインド ハンドルを返します。 RpcBindingCopy は、SourceBinding パラメーターから DestinationBinding パラメーターに認証情報をコピーします。

アプリケーションは、あるスレッドによってバインディング情報が変更され、他のスレッドで使用されるバインディング情報に影響を与えないようにする場合に 、RpcBindingCopy を使用します。

アプリケーションが RpcBindingCopy を呼び出すと、 SourceBinding バインド ハンドルに対して実行される操作は 、DestinationBinding バインド ハンドルによって参照されるバインド情報には影響しません。 同様に、 DestinationBinding バインド ハンドルに対して実行される操作は、 SourceBinding バインド ハンドルによって参照されるバインド情報には影響しません。

あるアプリケーションがバインド情報に対する 1 つのスレッドの変更を他のスレッドで使用されるバインディング情報に影響することを望む場合、アプリケーションはスレッド間で 1 つのバインド ハンドルを共有する必要があります。 この場合、アプリケーションはバインド ハンドルのコンカレンシー制御を担当します。

DestinationBinding パラメーターで指定されたバインド ハンドルを使用してアプリケーションが終了したら、アプリケーションは RpcBindingFree 関数を呼び出して、DestinationBinding バインド ハンドルとその参照されるバインド情報で使用されるメモリを解放する必要があります。

メモ Microsoft RPC は、サーバー アプリケーションではなく、クライアント アプリケーションでのみ RpcBindingCopy をサポートします。
 

要件

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

こちらもご覧ください

RpcBindingFree