PeerNameResolver.Resolve PeerNameResolver.Resolve PeerNameResolver.Resolve Method

定義

PNRP プロトコルを使用して、PeerName オブジェクトを PeerNameRecord に解決します。Resolves a PeerName object to a PeerNameRecord using the PNRP protocol.

オーバーロード

Resolve(PeerName) Resolve(PeerName) Resolve(PeerName)

呼び出し元のピアに認識されているすべてのクラウド内で、指定した PeerName を解決します。Resolves the specified PeerName in all clouds known to the calling peer.

Resolve(PeerName, Int32) Resolve(PeerName, Int32) Resolve(PeerName, Int32)

呼び出し元のピアに認識されているすべてのクラウド内で、指定したピア名を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。Resolves the specified peer name in all clouds known to the calling peer, returning no more than the specified number of PeerNameRecord objects.

Resolve(PeerName, Cloud) Resolve(PeerName, Cloud) Resolve(PeerName, Cloud)

指定した PeerName 内で指定した Cloud を解決します。Resolves the specified PeerName in the specified Cloud.

Resolve(PeerName, Cloud, Int32) Resolve(PeerName, Cloud, Int32) Resolve(PeerName, Cloud, Int32)

指定した PeerName 内で、指定した Cloud を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。Resolves the specified PeerName in the specified Cloud, returning no more than the specified number of PeerNameRecord objects.

注釈

このメソッドは、クラウドにピア名を関連付けます。This method associates peer names to clouds. 呼び出す、PeerNameResolverメソッドの呼び出しに似ていますが、Resolveメソッドの各ピア名レコード、PeerNameRecordCollectionします。Calling the PeerNameResolver method is similar to calling the Resolve method for each peer name record in the PeerNameRecordCollection. ピア名レコードを解決するメソッドを使用しても、複数のピア名の解決は無効に注意してください。Note that using the Resolve method on an individual peer name record does not invalidate resolving multiple peer names.

すべてResolveメソッドに相当するものはResolveAsyncメソッド。For every Resolve method, there is an equivalent ResolveAsync method. これらの ResolveAsync メソッドには非同期イベント処理のためのパラメーター リストでシステム トークンが含まれていますが、渡されるパラメーターと同じです。They are identical in the parameters they are passed, except that the ResolveAsync method includes a system token in its parameter list for asynchronous event handling.

場合、Cloudパラメーターが指定されていない、メソッドを使用して、Availableクラウド パラメーターを入力するショートカットです。If the Cloud parameter is not supplied, the method uses the Available shortcut to fill in cloud parameters. 場合、maxRecordsパラメーターがありません、ゼロの原因の既定値、ArgumentOutOfRangeException例外がスローされます。If the maxRecords parameter is missing, the default value of zero causes an ArgumentOutOfRangeException exception to be thrown.

解決操作エラーで終了したかが取り消された場合、このイベントは発生もします。This event will also be raised if the resolve operation completes in error or is canceled.

Resolve(PeerName) Resolve(PeerName) Resolve(PeerName)

呼び出し元のピアに認識されているすべてのクラウド内で、指定した PeerName を解決します。Resolves the specified PeerName in all clouds known to the calling peer.

public:
 System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName);
member this.Resolve : System.Net.PeerToPeer.PeerName -> System.Net.PeerToPeer.PeerNameRecordCollection

パラメーター

peerName
PeerName PeerName PeerName

解決する PeerNameThe PeerName to resolve.

戻り値

指定したピア名に関連付けられているすべての (PeerNameRecordCollection オブジェクトとして表される) ピア名レコードを格納している PeerNameRecordA PeerNameRecordCollection that contains all peer name records (represented as PeerNameRecord objects) associated with the specified peer name. セキュリティ保護されていないピア名の場合、同じ PeerName 内の複数のユーザーが、同じ Cloud を登録して別々のエンドポイントに関連付けることができます。For unsecured peer names, the same PeerName can be registered by different users in the same Cloud, and associated with different endpoints.

例外

peerName パラメーターを null に設定します。The peerName parameter is set to null.

指定したピア名は解決できません。The peer name specified cannot be resolved.

次のコード例は、解決する方法を示しています、PeerNameいずれかで公開されているCloudします。The following code example illustrates how to resolve a PeerName published in any Cloud.

static void Main(string[] args)
{
    try
    {

        if (args.Length != 1)
        {
            Console.WriteLine("Usage: PeerNameResolver.exe <PeerNameToResolve>");
            return;
        }
        
        // create a resolver object to resolve a Peer Name that was previously published
        PeerNameResolver resolver = new PeerNameResolver();
        // The Peer Name to resolve must be passed as the first 
        // command line argument to the application
        PeerName peerName = new PeerName(args[0]);
        // Resolve the Peer Name 
        // This is a network operation and will block until the resolve completes
        PeerNameRecordCollection results = resolver.Resolve(peerName);

        // Display the data returned by the resolve operation
        Console.WriteLine("Resolve operation complete.\n", peerName);
        Console.WriteLine("Results for PeerName: {0}", peerName);
        Console.WriteLine();
        
        int count = 1;
        foreach (PeerNameRecord record in results)
        {
            Console.WriteLine("Record #{0} results...", count);
            
            Console.Write("Comment:");
            if (record.Comment != null)
            {
                Console.Write(record.Comment);
            }
            Console.WriteLine();

            Console.Write("Data:");
            if (record.Data != null)
            {
                // Assumes the data blob associated with the PeerName 
                // is made up of ASCII characters
                Console.Write(System.Text.Encoding.ASCII.GetString(record.Data));
            }
            Console.WriteLine();

            Console.WriteLine("Endpoints:");
            foreach (IPEndPoint endpoint in record.EndPointCollection)
            {
                Console.WriteLine("\t Endpoint:{0}", endpoint);
                Console.WriteLine();
            }

            count++;
        }

        Console.ReadKey();
    }
    catch (Exception e)
    {
        Console.WriteLine("Error occurred while attempting to resolve the PeerName: {0}", e.Message);
        Console.WriteLine(e.StackTrace);

        // P2P is not supported on Windows Server 2003
        if (e.InnerException != null)
        { 
            Console.WriteLine("Inner Exception is {0}", e.InnerException);
        }    
    }
}

注釈

このメソッドは、クラウドにピア名を関連付けます。This method associates a peer name to clouds. クエリが実行のすべてのクラウド、PeerNameします。All clouds are queried for the PeerName. ピア名解決できない場合や、場合nullPeerToPeerExceptionがスローされます。If the peer name cannot be resolved or is null, an PeerToPeerException is thrown.

セキュリティ保護されていないピア名の場合は、同じ名前を登録 (してさまざまなエンドポイントに関連付けられている)、同じクラウド内の別のピアです。For unsecured peer names, the same name can be registered (and associated with different endpoints) by different peers within the same cloud.

呼び出す、PeerNameResolverメソッドの呼び出しに似ていますが、Resolveメソッドの各ピア名レコード、PeerNameRecordCollectionします。Calling the PeerNameResolver method is similar to calling the Resolve method for each peer name record in the PeerNameRecordCollection. ピア名レコードを解決するメソッドを使用しても、複数のピア名の解決は無効に注意してください。Note that using the Resolve method on an individual peer name record does not invalidate resolving multiple peer names.

すべてResolveメソッドに相当するものはResolveAsyncメソッド。For every Resolve method, there is an equivalent ResolveAsync method. パラメーター リストは ResolveAsync メソッドには非同期イベント処理システム トークンが含まれていますと同じです。Their parameter lists are identical, except that the ResolveAsync method includes a system token for asynchronous event handling.

場合、Cloudパラメーターが指定されていない、メソッドを使用して、Availableクラウド パラメーターを入力するショートカットです。If the Cloud parameter is not supplied, the method uses the Available shortcut to fill in cloud parameters.

ResolveCompleted解決操作エラーで終了したかが取り消された場合、イベントが生成されます。The ResolveCompleted event will be raised if the resolve operation completes in error or is canceled.

こちらもご覧ください

Resolve(PeerName, Int32) Resolve(PeerName, Int32) Resolve(PeerName, Int32)

呼び出し元のピアに認識されているすべてのクラウド内で、指定したピア名を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。Resolves the specified peer name in all clouds known to the calling peer, returning no more than the specified number of PeerNameRecord objects.

public:
 System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, int maxRecords);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName, int maxRecords);
member this.Resolve : System.Net.PeerToPeer.PeerName * int -> System.Net.PeerToPeer.PeerNameRecordCollection

パラメーター

peerName
PeerName PeerName PeerName

解決する PeerNameThe PeerName to resolve.

maxRecords
Int32 Int32 Int32

指定した peerName に対してすべての PeerNameRecord オブジェクトから取得する Cloud オブジェクトの最大数。The maximum number of PeerNameRecord objects to obtain from all Cloud objects for the supplied peerName.

戻り値

サイズが maxRecords エントリ以下の PeerNameRecordCollectionA PeerNameRecordCollection whose size is less than or equal to maxRecords entries. このコレクションには、解決された PeerName に関連付けられているピア名レコードが含まれます。This collection contains peer name records associated with the PeerName that was resolved.

例外

peerName パラメーターを null に設定します。The peerName parameter is set to null.

maxRecords パラメーターが 0 以下です。The maxRecords parameter is less than or equal to zero.

指定したピア名は解決できません。The supplied peer name cannot be resolved.

注釈

このメソッドは、クラウドにピア名を関連付けます。This method associates a peer name to clouds. すべてのクラウドは、ピア名のクエリが実行します。All clouds are queried for the peer name. セキュリティ保護されていないピア名の場合は、同じで別々 のユーザーが同じピア名を登録できますCloud、さまざまなエンドポイントに関連付けられているとします。For unsecured peer names, the same peer name can be registered by different users in the same Cloud, and associated with different endpoints. 場合、PeerNameを解決できません (たとえば、ピア名が発行されません)、PeerToPeerExceptionがスローされます。If the PeerName cannot be resolved (for example, the peer name is not published) an PeerToPeerException is thrown.

すべてResolveメソッドに相当するものはResolveAsyncメソッド。For every Resolve method, there is an equivalent ResolveAsync method. パラメーター リストは ResolveAsync メソッドには非同期イベント処理システム トークンが含まれていますと同じです。Their parameter lists are identical, except that the ResolveAsync method includes a system token for asynchronous event handling.

ResolveCompleted解決操作エラーで終了したかが取り消された場合、イベントが生成されます。The ResolveCompleted event will be raised if the resolve operation completes in error or is canceled.

Resolve(PeerName, Cloud) Resolve(PeerName, Cloud) Resolve(PeerName, Cloud)

指定した PeerName 内で指定した Cloud を解決します。Resolves the specified PeerName in the specified Cloud.

public:
 System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, System::Net::PeerToPeer::Cloud ^ cloud);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName, System.Net.PeerToPeer.Cloud cloud);
member this.Resolve : System.Net.PeerToPeer.PeerName * System.Net.PeerToPeer.Cloud -> System.Net.PeerToPeer.PeerNameRecordCollection

パラメーター

peerName
PeerName PeerName PeerName

解決する PeerNameThe PeerName to resolve.

cloud
Cloud Cloud Cloud

ピア名を解決する対象の CloudThe Cloud in which to resolve the peer name.

戻り値

指定したピア名に関連付けられているすべての (PeerNameRecordCollection オブジェクトとして表される) ピア名レコードを格納している PeerNameRecordPeerNameRecordCollection that contains all peer name records (represented as PeerNameRecord objects) associated with the specified peer name. セキュリティ保護されていないピア名の場合、同じ PeerName 内の複数のユーザーが、同じ Cloud を登録して別々のエンドポイントに関連付けることができます。For unsecured peer names, the same PeerName can be registered by different users in the same Cloud, and associated with different endpoints.

例外

peerName パラメーターを null に設定します。The peerName parameter is set to null.

指定したピア名は解決できません。The supplied peer name cannot be resolved.

注釈

場合、PeerName解決できない (つまり、ピア名が発行されません)、PeerToPeerExceptionがスローされます。If the PeerName cannot be resolved (that is, the peer name is not published) an PeerToPeerException is thrown.

セキュリティ保護されていないピア名の場合は、同じ名前を登録 (してさまざまなエンドポイントに関連付けられている)、同じクラウド内の別のピアです。For unsecured peer names, the same name can be registered (and associated with different endpoints) by different peers within the same cloud.

すべてResolveメソッドに相当するものはResolveAsyncメソッド。For every Resolve method, there is an equivalent ResolveAsync method. パラメーター リストは ResolveAsync メソッドには非同期イベント処理システム トークンが含まれていますと同じです。Their parameter lists are identical, except that the ResolveAsync method includes a system token for asynchronous event handling.

場合、CloudパラメーターがnullPeerNameResolverを使用して、Availableを入力するショートカット、 NameScope、およびScopeIdします。If the Cloud parameter is null, the PeerNameResolver uses the Available shortcut to fill in the Name, Scope, and ScopeId.

ResolveCompleted解決操作エラーで終了したかが取り消された場合、イベントが生成されます。The ResolveCompleted event will be raised if the resolve operation completes in error or is canceled.

Resolve(PeerName, Cloud, Int32) Resolve(PeerName, Cloud, Int32) Resolve(PeerName, Cloud, Int32)

指定した PeerName 内で、指定した Cloud を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。Resolves the specified PeerName in the specified Cloud, returning no more than the specified number of PeerNameRecord objects.

public:
 System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, System::Net::PeerToPeer::Cloud ^ cloud, int maxRecords);
[System.Security.SecurityCritical]
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName, System.Net.PeerToPeer.Cloud cloud, int maxRecords);
member this.Resolve : System.Net.PeerToPeer.PeerName * System.Net.PeerToPeer.Cloud * int -> System.Net.PeerToPeer.PeerNameRecordCollection

パラメーター

peerName
PeerName PeerName PeerName

解決する PeerNameThe PeerName to resolve.

cloud
Cloud Cloud Cloud

peerName を解決する対象の CloudThe Cloud in which to resolve the peerName.

maxRecords
Int32 Int32 Int32

指定した peerName に対して、指定したクラウドから取得するピア名レコード オブジェクトの最大数。The maximum number of peer name record objects to obtain from the specified cloud for the specified peerName.

戻り値

サイズが maxRecords エントリ以下の PeerNameRecordCollectionA PeerNameRecordCollection whose size is less than or equal to maxRecords entries. このコレクションには、解決された PeerName に関連付けられているピア名レコードが含まれます。This collection contains peer name records associated with the PeerName that was resolved.

例外

peerName パラメーターを null に設定します。The peerName parameter is set to null.

maxRecords パラメーターが 0 以下です。The maxRecords parameter is less than or equal to zero.

指定したピア名は解決できません。The supplied peer name cannot be resolved.

注釈

セキュリティ保護されていないピア名の場合は、同じ名前を登録 (してさまざまなエンドポイントに関連付けられている)、同じクラウド内の別のピアです。For unsecured peer names, the same name can be registered (and associated with different endpoints) by different peers within the same cloud. ピア名を解決できない場合は、PeerToPeerExceptionがスローされます。If the peer name cannot be resolved, an PeerToPeerException is thrown.

すべてResolveメソッドに相当するものはResolveAsyncメソッド。For every Resolve method, there is an equivalent ResolveAsync method. パラメーター リストは ResolveAsync メソッドには非同期イベント処理システム トークンが含まれていますと同じです。Their parameter lists are identical, except that the ResolveAsync method includes a system token for asynchronous event handling.

場合、CloudパラメーターがnullPeerNameResolverを使用して、Availableを入力するショートカット、 NameScope、およびScopeIdします。If the Cloud parameter is null, the PeerNameResolver uses the Available shortcut to fill in the Name, Scope, and ScopeId.

ResolveCompleted解決操作エラーで終了したかが取り消された場合、イベントが生成されます。The ResolveCompleted event will be raised if the resolve operation completes in error or is canceled.

適用対象