BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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).