BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用現有的 BackgroundTaskBuilder 物件指派 COM CLSID 進入點。
public:
virtual void SetTaskEntryPointClsid(Platform::Guid TaskEntryPoint) = SetTaskEntryPointClsid;
void SetTaskEntryPointClsid(winrt::guid const& TaskEntryPoint);
public void SetTaskEntryPointClsid(Guid TaskEntryPoint);
function setTaskEntryPointClsid(TaskEntryPoint)
Public Sub SetTaskEntryPointClsid (TaskEntryPoint As Guid)
參數
- TaskEntryPoint
-
Guid
Platform::Guid
winrt::guid
應用程式定義 TaskEntryPoint 類別的名稱。
Windows 需求
裝置系列 |
Windows 10, version 2004 (已於 10.0.19041.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v10.0 引進)
|
範例
下列程式碼範例示範如何使用 BackgroundTaskBuilder,將建立的 WinMain COM 背景工作註冊到 15 分鐘間隔的時間觸發程式。
此範例程式碼會檢查具有特定工作名稱的背景工作是否已註冊,以避免建立重複的工作。 這是在範例程式碼中完成,因為意圖是只有一個特定的背景工作註冊存在。
應用程式開發人員必須建立一或多個具有相同進入點的背景工作, (或觸發程式或名稱) 。
using System;
using Windows.ApplicationModel.Background;
public IBackgroundTaskRegistration RegisterBackgroundTaskWithSystem(IBackgroundTrigger trigger, Guid entryPointClsid, string taskName)
{
foreach (var registrationIterator in BackgroundTaskRegistration.AllTasks)
{
if (registrationIterator.Value.Name == taskName)
{
return registrationIterator.Value;
}
}
BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
builder.SetTrigger(trigger);
builder.SetTaskEntryPointClsid(entryPointClsid);
builder.Name = taskName;
BackgroundTaskRegistration registration;
try
{
registration = builder.Register();
}
catch (Exception)
{
registration = null;
}
return registration;
}
RegisterBackgroundTaskWithSystem(new TimeTrigger(15, false), typeof(TimeTriggeredTask).GUID, typeof(TimeTriggeredTask).Name);
備註
針對傳統 COM CLSID 啟用,註冊期間會透過 SetTaskEntryPointClsid 方法來指定要啟動的 CLSID。 COM 註冊必須識別跨進程 COM 伺服器 (,也就是 LocalServer32) 。