RpcNsBindingUnexportA 関数 (rpcnsi.h)
RpcNsBindingUnexport 関数は、name-service データベースのエントリからインターフェイスとオブジェクトのバインド ハンドルを削除します。
構文
RPC_STATUS RpcNsBindingUnexportA(
unsigned long EntryNameSyntax,
RPC_CSTR EntryName,
RPC_IF_HANDLE IfSpec,
UUID_VECTOR *ObjectUuidVec
);
パラメーター
EntryNameSyntax
EntryNameの構文。
レジストリ値エントリ HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntaxで指定された構文を使用するには、RPC_C_NS_SYNTAX_DEFAULTの値を指定します。
EntryName
バインド ハンドルとオブジェクト UUID を削除するエントリ名へのポインター。
IfSpec
ネーム サービス データベースから削除するバインド ハンドルのインターフェイス指定。 null パラメーター値は、バインド ハンドルのエクスポートを解除しないことを示します (オブジェクト UUID のみがエクスポート解除されます)。
ObjectUuidVec
サーバーが提供しなくなったオブジェクト UUID のベクトルへのポインター。 アプリケーションはこのベクトルを構築します。 null 値は、エクスポート解除するオブジェクト UUID がないことを示します (バインド ハンドルのみがエクスポート解除されます)。
戻り値
価値 | 意味 |
---|---|
|
呼び出しは成功しました。 |
|
バージョン オプションが無効です。 |
|
名前の構文が無効です。 |
|
名前の構文はサポートされていません。 |
|
名前が不完全です。 |
|
name-service エントリが見つかりませんでした。 |
|
ネーム サービスは使用できません。 |
|
インターフェイスが見つかりませんでした。 |
|
すべてのオブジェクトがエクスポートされていないわけではありません。 |
備考
RpcNsBindingUnexport 関数を使用すると、サーバー アプリケーションは、ネーム サービス データベース エントリからリソースのバインド ハンドルとオブジェクト UUID を削除できます。 サーバー アプリケーションは、RpcNsBindingUnexportへの 1 回の呼び出しで、指定したインターフェイスとオブジェクト
Windows 2000 で有効な RPC ランタイム環境では、Active Directory を名前サービス データベースとして使用します。 つまり、承認されたエクスポートされていないエントリは、ローカル キャッシュと Active Directory の両方から削除されます。 承認されていないエクスポート解除は、ローカル キャッシュからのみ削除されます。 承認とアクセス制御リストの詳細については、「プラットフォーム ソフトウェア開発キット (SDK) のセキュリティ」セクションの「アクセス制御の」を参照してください。
RpcNsBindingUnexport
指定したインターフェイスの 1 つ以上のバインド ハンドルが見つかり、エラーなしでエクスポート解除された場合、RpcNsBindingUnexport 、指定したオブジェクト UUID がある場合は、そのオブジェクトのエクスポートを解除します。
指定したオブジェクト UUID のいずれかが見つからなかった場合は、RpcNsBindingUnexport
RpcNsBindingUnexport
作成されると、すべてのバインド ハンドルと UUID が削除された場合でも、サーバー エントリは保持されます。 サーバー エントリには、少なくとも 1 つのバインド ハンドルが存在する必要があります。 その結果、存在しないエントリに UUID のみをエクスポートしても効果はなく、すべてのバインド ハンドルのエクスポートを解除すると、エントリが削除されます。
RpcNsBindingUnexport 慎重に使用してください。 自動的にアクティブ化されたサーバーを使用できるようにするには、サーバー プロセスがアクティブ化されてからの間、そのバインド ハンドルをネーム サービス データベースに残しておく必要があります。 ただし、動的バインドでは、バインド ハンドルのエクスポートを解除しないと、Active Directory が管理できないほど大きくなる可能性があります。
そのため、この関数を呼び出す前に、サーバーが使用できなくなると予想される期間と、使用中のバインディングの種類に注意してください。 静的バインディングを使用している場合は、サーバーが長時間使用できなくなることが予想される場合 (サービスから完全に削除される場合など) に備えて、この関数を予約します。
手記
rpcnsi.h ヘッダーは、RpcNsBindingUnexport を、UNICODE プリプロセッサ定数の定義に基づいてこの関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | rpcnsi.h (Rpc.h を含む) |
ライブラリ | Rpcns4.lib |
DLL | Rpcns4.dll |
関連項目
RpcEpUnregister を
RpcNsBindingExport の