次の方法で共有


クエリ中の動作

このセクションでは、32 ビット クライアントが独自のドメイン内の名前を検索するときに、ネットワークがクエリを処理する方法について説明します。

クライアント アプリケーションが RpcNsBindingImportBegin を呼び出すと、クライアント コンピューターに存在するロケーターがこの要求を満たそうとします。 キャッシュに何も存在しない場合は、RPC による要求がマスター ロケーターに転送されます。 マスター ロケーターがキャッシュ内に何も見つからない場合は、メール スロット ブロードキャストを使用してドメイン内のすべてのコンピューターに要求を送信します。 一致する場合、各コンピューターのロケーターはダイレクト メール スロットによって応答します。 (たとえば、そのコンピューター上のプロセスがインターフェイスをエクスポートした場合など)。応答は照合され、RPC はクライアントのプロセス ロケーターから完了し、クライアント プロセス自体に応答します。

ドメインでは、クライアント ロケーターは次の場所でマスター ロケーターを検索します。

  • プライマリ ドメイン コントローラーで
  • 各バックアップ ドメイン コントローラーで

一致するものが見つからない場合、クライアント ロケーターは自身をマスター ロケーターとして宣言します。 そのため、ローカルでクエリを満たすことができない場合は、クエリがブロードキャストされます。

ワークグループでは、クライアント ロケーターは、ロケーターがブロードキャストされているコンピューターのキャッシュを保持します。 マスター ロケーターとして最も長く実行されているを使用します。 そのコンピューターが使用できない場合は、次の最長ブロードキャスト コンピューターが使用されます。 クライアントでマスター ロケーターが必要で、キャッシュが空の場合は、マスター ロケーターに応答を要求する特別なメール スロット ブロードキャストを送信してキャッシュを補充します。 応答がない場合、クライアント ロケーターは自身をマスター ロケーターとして宣言し、ローカルで満たすことができない場合はクエリをブロードキャストします。

これは、クライアント アプリケーションが 16 ビットまたは MS-DOS ベースのプログラムである場合に変更されます。 この場合、クライアント コンピューターで実行されているロケーターがなく、マスター ロケーターを検索するコードがRpcns1.dllまたは Rpcnslm.rpc に含まれています。 すべての要求は、マスター ロケーターに直接転送されます。

これらのガイドラインは、"/.:/ の名前など、クライアントのドメイン内の名前に対して有効です。entryname" クライアントが "/.../DOMAIN/entryname;" を使用して別のドメインから名前を要求した場合、クライアント ロケーターは要求を指定されたドメインに転送し、応答がない場合はブロードキャストします。 ドメインがダウンしているか、実際にワークグループである場合、要求は失敗します。

Note

ネーム サービスのエントリを操作するときは、次の点に注意してください。

 

  • クライアントは、"/.../DOMAIN/entryname" 構文を使用して、独自のドメイン内のエントリを検索できません。 構文 "/.:/ を使用するentryname" ただし、"/.../DOMAIN/entryname" を使用して、別のドメイン内のエントリを検索できます。
  • "/.../DOMAIN/entryname" のドメイン名は大文字である必要があります。 一致を検索する場合、ロケーターでは大文字と小文字が区別されます。
  • ロケーター エントリ名では大文字と小文字も区別されますが、大文字にする必要はありません。
  • クライアントが "/.:/ を使用する場合entryname" 構文では、ログオン ドメインと信頼関係がある場合でも、ロケーターは他のドメインのエントリを検索しません。
  • ブロードキャストは LAN セグメント (サブネットなど) をまたがりません。 したがって、ロケーターの有用性は、複数のサブネットを持つorganizationでは制限されます。