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).