Compartir a través de


BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) Método

Definición

Asigna un punto de entrada CLSID COM mediante un 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

Nombre de la clase TaskEntryPoint definida por la aplicación.

Requisitos de Windows

Familia de dispositivos
Windows 10, version 2004 (se introdujo en la versión 10.0.19041.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v10.0)

Ejemplos

En el ejemplo de código siguiente se muestra el uso de BackgroundTaskBuilder para registrar la tarea en segundo plano COM de WinMain creada en un desencadenador de tiempo en un intervalo de 15 minutos.

El código de ejemplo evita crear tareas duplicadas comprobando si ya está registrada una tarea en segundo plano con un nombre de tarea determinado. Esto se hace en el código de ejemplo, ya que la intención es que solo existe un registro de tareas en segundo plano determinado.

Es necesario que el desarrollador de aplicaciones cree una o varias tareas en segundo plano con el mismo punto de entrada (o desencadenador o nombre).

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

Comentarios

En el caso de las activaciones CLSID COM clásicas, el CLSID que se va a activar se especifica a través del método SetTaskEntryPointClsid durante el registro. El registro COM debe identificar un servidor COM fuera de proceso (es decir, LocalServer32).

Se aplica a

Consulte también