Share via


IPGlobalProperties.GetUnicastAddressesAsync 方法

定義

以非同步作業的方式,從本機電腦擷取穩定單點傳播 IP 位址表格。

public:
 virtual System::Threading::Tasks::Task<System::Net::NetworkInformation::UnicastIPAddressInformationCollection ^> ^ GetUnicastAddressesAsync();
public virtual System.Threading.Tasks.Task<System.Net.NetworkInformation.UnicastIPAddressInformationCollection> GetUnicastAddressesAsync ();
abstract member GetUnicastAddressesAsync : unit -> System.Threading.Tasks.Task<System.Net.NetworkInformation.UnicastIPAddressInformationCollection>
override this.GetUnicastAddressesAsync : unit -> System.Threading.Tasks.Task<System.Net.NetworkInformation.UnicastIPAddressInformationCollection>
Public Overridable Function GetUnicastAddressesAsync () As Task(Of UnicastIPAddressInformationCollection)

傳回

工作物件,表示非同步作業。

例外狀況

呼叫原生 GetAdaptersAddresses 函式失敗。

呼叫端沒有必要的 Read 權限。

呼叫原生 NotifyStableUnicastIpAddressTable 函式失敗。

備註

為了支援輸出連線或接受 Teredo 介面上的連入連線,應用程式必須確定 Teredo 介面已啟動且可供使用。 這是因為 Teredo 可以在未使用一段時間時進入休眠狀態。

方法 GetUnicastAddressesAsync 可讓應用程式擷取穩定單播IP位址清單做為異步操作。 屬性 IPAddress.IsIPv6Teredo 可用來判斷IP位址是否為前置詞為2001::/32的IPv6 Teredo 位址。

此方法 GetUnicastAddresses 也會傳回非 Teredo 位址,並提供更方便的方式來取得系統的單播 IP 位址,而不是列舉本機電腦上的所有 System.Net.NetworkInformation.NetworkInterface 物件,以及查詢相關聯的 IP 位址。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 GetUnicastAddresses()例外狀況。

適用於

另請參閱