共用方式為


BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) 方法

定義

使用現有的 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) 。

適用於

另請參閱