VoipCallCoordinator.ReserveCallResourcesAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ReserveCallResourcesAsync() |
保留 VoIP 呼叫所需的 CPU 和記憶體資源。 您應該只在單一進程應用程式模型中使用這個方法。 |
ReserveCallResourcesAsync(String) |
保留 VoIP 呼叫所需的 CPU 和記憶體資源。 您應該只在雙進程應用程式模型中使用這個方法。 |
ReserveCallResourcesAsync()
保留 VoIP 呼叫所需的 CPU 和記憶體資源。 您應該只在單一進程應用程式模型中使用這個方法。
public:
virtual IAsyncOperation<VoipPhoneCallResourceReservationStatus> ^ ReserveCallResourcesAsync() = ReserveCallResourcesAsync;
/// [Windows.Foundation.Metadata.Overload("ReserveOneProcessCallResourcesAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<VoipPhoneCallResourceReservationStatus> ReserveCallResourcesAsync();
[Windows.Foundation.Metadata.Overload("ReserveOneProcessCallResourcesAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<VoipPhoneCallResourceReservationStatus> ReserveCallResourcesAsync();
function reserveCallResourcesAsync()
Public Function ReserveCallResourcesAsync () As IAsyncOperation(Of VoipPhoneCallResourceReservationStatus)
傳回
保留動作的結果。
- 屬性
Windows 需求
裝置系列 |
Windows 10, version 1809 (已於 10.0.17763.0 引進)
|
API contract |
Windows.ApplicationModel.Calls.CallsVoipContract (已於 v4.0 引進)
|
應用程式功能 |
oneProcessVoIP
phoneCallHistory
phoneCallHistorySystem
voipCall
|
範例
您應該為每個呼叫只呼叫 ReserveCallResourcesAsync 一次。 呼叫新呼叫的後續時間,而另一個呼叫已經存在時,會導致 HRESULT 為 -2147024713 (0x800700b7) 的例外狀況,如程式代碼範例所示。
...
try
{
status = await vCC.ReserveCallResourcesAsync();
}
catch (System.Exception ex)
{
if (ex.HResult == -2147024713)
{
Debug.WriteLine("CPU and memory resources have already been reserved for your application. Ignore the return value from your call to ReserveCallResourcesAsync, and proceed to handle a new VoIP call.");
}
}
...
備註
當您的 VoIP 應用程式收到來電通知,或在建立外寄 VoIP 通話之前,請使用這個方法。
每個呼叫都需要個別的資源。 若要同時處理多個 VoIP 呼叫,您必須針對每個呼叫叫用此方法一次。
資源會在上次呼叫完成時自動釋放。
適用於
ReserveCallResourcesAsync(String)
保留 VoIP 呼叫所需的 CPU 和記憶體資源。 您應該只在雙進程應用程式模型中使用這個方法。
public:
virtual IAsyncOperation<VoipPhoneCallResourceReservationStatus> ^ ReserveCallResourcesAsync(Platform::String ^ taskEntryPoint) = ReserveCallResourcesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<VoipPhoneCallResourceReservationStatus> ReserveCallResourcesAsync(winrt::hstring const& taskEntryPoint);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<VoipPhoneCallResourceReservationStatus> ReserveCallResourcesAsync(string taskEntryPoint);
function reserveCallResourcesAsync(taskEntryPoint)
Public Function ReserveCallResourcesAsync (taskEntryPoint As String) As IAsyncOperation(Of VoipPhoneCallResourceReservationStatus)
參數
- taskEntryPoint
-
String
Platform::String
winrt::hstring
執行背景工作之應用程式定義類別的名稱。 如需詳細資訊,請參閱 TaskEntryPoint。
傳回
保留動作的結果。
- 屬性
Windows 需求
應用程式功能 |
phoneCallHistory
phoneCallHistorySystem
voipCall
|
範例
您應該為每個呼叫只呼叫 ReserveCallResourcesAsync 一次。 呼叫新呼叫的後續時間,而另一個呼叫已經存在時,會導致 HRESULT 為 -2147024713 (0x800700b7) 的例外狀況,如程式代碼範例所示。
...
try
{
status = await vCC.ReserveCallResourcesAsync(Current.RtcCallTaskName);
}
catch (System.Exception ex)
{
if (ex.HResult == -2147024713)
{
Debug.WriteLine("CPU and memory resources have already been reserved for your application. Ignore the return value from your call to ReserveCallResourcesAsync, and proceed to handle a new VoIP call.");
}
}
...
備註
當您的 VoIP 應用程式收到來電通知,或在建立外寄 VoIP 通話之前,請使用這個方法。
每個呼叫都需要個別的資源。 若要同時處理多個 VoIP 呼叫,您必須針對每個呼叫叫用此方法一次。
資源會在上次呼叫完成時自動釋放。