RpcNsBindingExportPnPW 関数 (rpcnsi.h)
RpcNsBindingExportPnP 関数は、プラグ アンド プレイをサポートするサーバーに対して、複数のバインド ハンドルと複数のオブジェクトを含むネーム サービス データベース エントリを確立します。
構文
RPC_STATUS RpcNsBindingExportPnPW(
unsigned long EntryNameSyntax,
RPC_WSTR EntryName,
RPC_IF_HANDLE IfSpec,
UUID_VECTOR *ObjectVector
);
パラメーター
EntryNameSyntax
EntryName の構文。
HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntaxレジストリ 値エントリで 指定された構文を使用するには、 の値を指定RPC_C_NS_SYNTAX_DEFAULT。
EntryName
バインド ハンドルとオブジェクト UUID がエクスポートされるエントリ名へのポインター。 null または空の文字列を指定することはできません。
HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultEntryレジストリ 値エントリで 指定されたエントリ名を使用するには、null ポインターまたは空の文字列を指定します。 この場合、 EntryNameSyntax パラメーターは無視され、ランタイム ライブラリでは既定の構文が使用されます。
IfSpec
エクスポートするインターフェイスを指定するスタブ生成データ構造。 null 値は、エクスポートするバインド ハンドルがないことを示し (オブジェクト UUID のみがエクスポートされます)、 BindingVec は無視されます。
ObjectVector
サーバーによって提供されるオブジェクト UUID のベクトルへのポインター。 サーバー アプリケーションはこのベクトルを構築します。 null 値は、エクスポートするオブジェクト UUID がないことを示します (バインド ハンドルのみがエクスポートされます)。
戻り値
値 | 説明 |
---|---|
|
呼び出しは成功しました。 |
|
エクスポートするものは何もありませんでした。 |
|
バインド ハンドルが無効でした。 |
|
これは、操作の間違った種類のバインドでした。 |
|
名前の構文が無効です。 |
|
名前の構文はサポートされていません。 |
|
名前が不完全です。 |
|
name-service 操作に対する特権はありません。 |
|
名前サービスを利用できません。 |
解説
RpcNsBindingExportPnP 関数を使用すると、サーバー アプリケーションは、任意のクライアント アプリケーションで使用するプラグ アンド プレイ バインドをサポートするネーム サービス データベース内のインターフェイスをパブリックに提供できます。
プラグ アンド プレイ バインドをエクスポートするときに、サーバー アプリケーションでバインド ベクターを明示的に指定しないでください。 プラグ アンド プレイ イベントが原因でバインディングが変更されると、バインドは自動的に更新されます。
注意
rpcnsi.h ヘッダーは、RPCNsBindingExportPnP をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rpcnsi.h (Rpc.h を含む) |
Library | Rpcns4.lib |
[DLL] | Rpcns4.dll |