RpcServerUnregisterIf 関数 (rpcdce.h)
RpcServerUnregisterIf 関数は、RPC ランタイム ライブラリ レジストリからインターフェイスを削除します。
構文
RPC_STATUS RpcServerUnregisterIf(
RPC_IF_HANDLE IfSpec,
UUID *MgrTypeUuid,
unsigned int WaitForCallsToComplete
);
パラメーター
IfSpec
レジストリから削除するインターフェイス。
MgrTypeUuid パラメーターで指定された型 UUID 値で以前に登録されたすべてのインターフェイスを削除するには、null 値を指定します。
MgrTypeUuid
レジストリから削除するマネージャー エントリ ポイント ベクター (EPV) の型 UUID へのポインター。 MgrTypeUuid の値は、RpcServerRegisterIf 関数、RpcServerRegisterIf2 関数、または RpcServerRegisterIfEx 関数の呼び出しで指定されたものと同じ値にする必要があります。
レジストリから以前に登録されたすべての型 UUID の IfSpec パラメーターで指定されたインターフェイスを削除するには、null 値を指定します。
レジストリから MIDL によって生成された既定のマネージャー EPV を削除するには、nil UUID を指定します。 この場合、nil 以外の種類の UUID で登録されているすべてのマネージャー EPV が登録されたままになります。
WaitForCallsToComplete
インターフェイスをレジストリからすぐに削除するか、現在のすべての呼び出しが完了するまで待機するかを示すフラグ。
実行中の呼び出しを無視し、レジストリからインターフェイスを直ちに削除するには、値 0 を指定します。 アクティブなすべての呼び出しが完了するまで待機するには、0 以外の値を指定します。
戻り値
値 | 意味 |
---|---|
|
呼び出しは成功しました。 |
|
マネージャーの種類が不明です。 |
|
インターフェイスが不明です。 |
注釈
サーバーは RpcServerUnregisterIf を呼び出して、インターフェイスとマネージャー EPV の間の関連付けを削除します。 MgrTypeUuid パラメーターで削除するマネージャー EPV を指定するには、RpcServerRegisterIf の呼び出しで指定された UUID 型の値を指定します。 レジストリから削除されると、クライアント アプリケーションでインターフェイスを使用できなくなります。
インターフェイスがレジストリから削除されると、RPC ランタイム ライブラリはそのインターフェイスの新しい呼び出しの受け入れを停止します。 インターフェイスで現在実行中の呼び出しは、コールバックを含めて完了できます。
次の表は、 RpcServerUnregisterIf の動作をまとめたものです。
IfSpec | MgrTypeUuid | 動作 |
---|---|---|
Null 以外 | Null 以外 | 指定したパラメーターに関連付けられているマネージャー EPV をレジストリから削除します。 |
Null 以外 | NULL | IfSpec パラメーターに関連付けられているすべてのマネージャー EPV を削除します。 |
NULL | Null 以外 | MgrTypeUuid パラメーターに関連付けられているすべてのマネージャー EPV を削除します。 |
NULL | NULL | すべてのマネージャー EPV を削除します。 この呼び出しは、すべてのインターフェイスのすべてのマネージャー EPV が登録解除されているため、サーバーが新しいリモート プロシージャ コールを受信できないようにする効果があります。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rpcdce.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |