RpcNsBindingLookupBeginA 関数 (rpcnsi.h)

RpcNsBindingLookupBegin 関数は、インターフェイスと オブジェクトの参照コンテキストを作成します。

メモ この関数は、Windows Vista 以降のオペレーティング システムではサポートされていません。
 

構文

RPC_STATUS RpcNsBindingLookupBeginA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      EntryName,
  RPC_IF_HANDLE IfSpec,
  UUID          *ObjUuid,
  unsigned long BindingMaxCount,
  RPC_NS_HANDLE *LookupContext
);

パラメーター

EntryNameSyntax

EntryName パラメーターの構文。

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntaxレジストリ 値エントリで 指定された構文を使用するには、RPC_C_NS_SYNTAX_DEFAULTの値を指定します。

EntryName

互換性のあるバインドの検索が開始されるエントリ名へのポインター。

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultEntryレジストリ 値エントリで 指定されたエントリ名を使用するには、null ポインターまたは空の文字列を指定します。 この場合、 EntryNameSyntax パラメーターは無視され、ランタイム ライブラリでは既定の構文が使用されます。

IfSpec

参照するインターフェイスを示すスタブ生成構造体。 インターフェイス仕様がエクスポートされていない場合、または呼び出し元に問題がない場合は、このパラメーターに null 値を指定します。 この場合、返されるバインディングは、互換性があり、サポートされているプロトコル シーケンスであり、指定されたオブジェクト UUID が含まれていることのみが保証されます。 必要なインターフェイスは、接続されているサーバーでサポートされていない可能性があります。

ObjUuid

省略可能なオブジェクト UUID へのポインター。

0 以外の UUID の場合、互換性のあるバインド ハンドルは、サーバーが指定したオブジェクト UUID をエクスポートした場合にのみエントリから返されます。

このパラメーターの null ポインター値または nil UUID の場合、返されるバインディング ハンドルには、互換性のあるサーバーによってエクスポートされたオブジェクト UUID のいずれかが含まれます。 サーバーがオブジェクト UUID をエクスポートしなかった場合、返される互換性のあるバインド ハンドルには nil オブジェクト UUID が含まれます。

BindingMaxCount

RpcNsBindingLookupNext 関数から BindingVec パラメーターで返されるバインドの最大数。

RPC_C_BINDING_MAX_COUNT_DEFAULTの既定のカウントを使用するには、値 0 を指定します。

LookupContext

RpcNsBindingLookupNext 関数と RpcNsBindingLookupDone 関数で使用する名前サービス ハンドルへのポインターを返します。

戻り値

意味
RPC_S_OK
呼び出しは成功しました。
RPC_S_INVALID_NAME_SYNTAX
名前の構文が無効です。
RPC_S_UNSUPPORTED_NAME_SYNTAX
名前の構文はサポートされていません。
RPC_S_INCOMPLETE_NAME
名前が不完全です。
RPC_S_ENTRY_NOT_FOUND
name-service エントリが見つかりませんでした。
RPC_S_NAME_SERVICE_UNAVAILABLE
名前サービスを利用できません。
RPC_S_INVALID_OBJECT
オブジェクトが無効です。
 
メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

注釈

RpcNsBindingLookupBegin 関数は、指定されたインターフェイスとオブジェクトを提供するサーバーにクライアント互換のバインド ハンドルを検索するための参照コンテキストを作成します。

RpcNsBindingLookupNext を呼び出す前に、クライアント アプリケーションで最初に RpcNsBindingLookupBegin を呼び出して参照コンテキストを作成する必要があります。 この関数のパラメーターは 、RpcNsBindingLookupNext 関数の操作を制御します。

Windows 2000 で有効な RPC 環境では、Active Directory を名前サービス データベースとして使用し、ランタイム環境が検索を実行する順序は次のとおりです。

  • ローカル キャッシュで検索します。
  • ローカル キャッシュにエントリが見つからない場合は、そのマシンの Active Directory を検索します。
  • ローカル コンピューターでエントリが見つからない場合は、ドメイン内の他のすべての Active Directory サービスにブロードキャスト要求を送信します。

    エントリが Active Directory に存在するが、エントリに関連付けられている情報がない場合、ランタイム環境ではこのブロードキャスト要求は発行されないことに注意してください。

バインド ハンドルの検索が完了すると、クライアント アプリケーションは RpcNsBindingLookupDone 関数を 呼び出して参照コンテキストを削除します。

注意

rpcnsi.h ヘッダーは、RPCNsBindingLookupBegin をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー rpcnsi.h (Rpc.h を含む)
Library Rpcns4.lib
[DLL] Rpcns4.dll

こちらもご覧ください

RpcNsBindingLookupDone

RpcNsBindingLookupNext