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 は失敗しません。
注釈
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 |