次の方法で共有


RpcServerUnregisterIfEx 関数 (rpcdce.h)

RpcServerUnregisterIfEx 関数は、RPC ランタイム ライブラリ レジストリからインターフェイスを削除します。 この関数は 、RpcServerUnregisterIf 関数の機能を拡張します。

構文

RPC_STATUS RpcServerUnregisterIfEx(
  [in] RPC_IF_HANDLE IfSpec,
  [in] UUID          *MgrTypeUuid,
  [in] int           RundownContextHandles
);

パラメーター

[in] IfSpec

レジストリから削除するインターフェイス。

MgrTypeUuid パラメーターで指定された型 UUID 値で以前に登録されたすべてのインターフェイスを削除するには、null 値を指定します。

[in] MgrTypeUuid

レジストリから削除するマネージャー エントリ ポイント ベクター (EPV) の型 UUID へのポインター。 MgrTypeUuid の値は、RpcServerRegisterIf 関数、RpcServerRegisterIf2 関数、または RpcServerRegisterIfEx 関数の呼び出しで指定されたものと同じ値にする必要があります。

レジストリから以前に登録されたすべての型 UUID の IfSpec パラメーターで指定されたインターフェイスを削除するには、null 値を指定します。

レジストリから MIDL によって生成された既定のマネージャー EPV を削除するには、nil UUID を指定します。 この場合、nil 以外の種類の UUID で登録されているすべてのマネージャー EPV が登録されたままになります。

[in] RundownContextHandles

アクティブなコンテキスト ハンドルに対してランダウンを呼び出すかどうかを指定します。 0 以外の場合、インターフェイスのすべての呼び出しが完了すると、ランダウンが呼び出されます。 0 に設定すると、RPC ランタイムは、サーバーがコンテキスト ハンドルの部分を既に破棄しており、ランダウン ルーチンを呼び出さないことを前提としています。

戻り値

RPC 状態を返します。 無効な値が指定されていない限り、RpcServerUnregisterIfEx は失敗しません。

メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

注釈

RpcServerUnregisterIfEx 関数は、コンテキスト ハンドルの登録を解除する前に、特定のインターフェイスのすべての呼び出しが完了するまで待機します。

RpcServerUnregisterIfEx 関数は、RpcServerUnregisterIf 関数で提供されるすべての機能を提供します。 さらに、 RpcServerUnregisterIfEx 関数は、指定されたインターフェイスによって登録されているすべてのコンテキスト ハンドルの登録を解除します。 インターフェイスは strict_context_handle 属性を使用する必要があります。それ以外の場合、結果は未定義です。

RpcServerUnregisterIfEx は、プロセスのシャットダウンの外部でアクティブなコンテキスト ハンドルを持つ DLL の安全なアンロードを提供する唯一の関数です。 Windows XP 以降のバージョンの Windows でのみ使用できます。

要件

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

こちらもご覧ください

RPC_MGR_EPV

インターフェイスの登録

RpcServerRegisterIf

RpcServerRegisterIf2

RpcServerRegisterIfEx

RpcServerUnregisterIf

コンテキスト ハンドルの使用