Поделиться через


BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) Метод

Определение

Назначает точку входа COM CLSID с помощью существующего объекта BackgroundTaskBuilder.

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 clSID для активации указывается с помощью метода SetTaskEntryPointClsid во время регистрации. Регистрация COM должна определять внепроцессный COM-сервер (т. е. LocalServer32).

Применяется к

См. также раздел