BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Atribui um ponto de entrada COM CLSID usando um objeto BackgroundTaskBuilder existente.
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)
Parâmetros
- TaskEntryPoint
-
Guid
Platform::Guid
winrt::guid
O nome da classe TaskEntryPoint definida pelo aplicativo.
Requisitos do Windows
Família de dispositivos |
Windows 10, version 2004 (introduzida na 10.0.19041.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v10.0)
|
Exemplos
O exemplo de código a seguir demonstra o uso de BackgroundTaskBuilder para registrar a tarefa em segundo plano do WinMain COM criada em um gatilho de tempo em um intervalo de 15 minutos.
O código de exemplo evita a criação de tarefas duplicadas verificando se uma tarefa em segundo plano com um nome de tarefa específico já está registrada. Isso é feito no código de exemplo, pois a intenção é que exista apenas um registro de tarefa em segundo plano específico.
Cabe ao desenvolvedor do aplicativo criar uma ou várias tarefas em segundo plano com o mesmo ponto de entrada (ou gatilho ou nome).
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);
Comentários
Para ativações COM CLSID clássicas, o CLSID a ser ativado é especificado por meio do método SetTaskEntryPointClsid durante o registro. O registro COM deve identificar um servidor COM fora do processo (ou seja, LocalServer32).