Compartilhar via


BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) Método

Definição

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

Aplica-se a

Confira também