RpcNsBindingExportPnPA 関数 (rpcnsi.h)
RpcNsBindingExportPnP 関数は、プラグ アンド プレイをサポートするサーバーに対して、複数のバインド ハンドルと複数のオブジェクトを含むネーム サービス データベース エントリを確立します。
構文
RPC_STATUS RpcNsBindingExportPnPA(
unsigned long EntryNameSyntax,
RPC_CSTR 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 がないことを示します (バインド ハンドルのみがエクスポートされます)。
戻り値
値 | 説明 |
---|---|
|
呼び出しは成功しました。 |
|
エクスポートするものは何もありませんでした。 |
|
バインド ハンドルが無効です。 |
|
これは、操作のバインドの種類が間違っていました。 |
|
名前の構文が無効です。 |
|
名前の構文はサポートされていません。 |
|
名前が不完全です。 |
|
名前サービス操作に対する特権がありません。 |
|
名前サービスを利用できません。 |
解説
RpcNsBindingExportPnP 関数を使用すると、サーバー アプリケーションは、任意のクライアント アプリケーションで使用するプラグ アンド プレイ バインドをサポートするネーム サービス データベース内のインターフェイスをパブリックに提供できます。
プラグ アンド プレイ バインドをエクスポートするときに、サーバー アプリケーションでバインド ベクターを明示的に指定しないでください。 プラグ アンド プレイ イベントが原因でバインドに変更があった場合、バインドは自動的に更新されます。
注意
rpcnsi.h ヘッダーは、RPCNsBindingExportPnP をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rpcnsi.h (Rpc.h を含む) |
Library | Rpcns4.lib |
[DLL] | Rpcns4.dll |