Freigeben über


BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) Methode

Definition

Weist einen COM CLSID-Einstiegspunkt mithilfe eines vorhandenen BackgroundTaskBuilder-Objekts zu.

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)

Parameter

TaskEntryPoint
Guid

Platform::Guid

winrt::guid

Der Name der anwendungsdefinierten TaskEntryPoint-Klasse.

Windows-Anforderungen

Gerätefamilie
Windows 10, version 2004 (eingeführt in 10.0.19041.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v10.0)

Beispiele

Im folgenden Codebeispiel wird die Verwendung von BackgroundTaskBuilder veranschaulicht, um die erstellte WinMain-COM-Hintergrundaufgabe in einem Zeittrigger in einem 15-Minuten-Intervall zu registrieren.

Der Beispielcode vermeidet das Erstellen doppelter Aufgaben, indem überprüft wird, ob eine Hintergrundaufgabe mit einem bestimmten Aufgabennamen bereits registriert ist. Dies erfolgt im Beispielcode, da die Absicht darin besteht, dass nur eine bestimmte Hintergrundaufgabenregistrierung vorhanden ist.

Es ist Aufgabe des App-Entwicklers, eine oder mehrere Hintergrundaufgaben mit demselben Einstiegspunkt (oder Trigger oder Namen) zu erstellen.

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

Hinweise

Bei klassischen COM CLSID-Aktivierungen wird die zu aktivierende CLSID während der Registrierung über die SetTaskEntryPointClsid-Methode angegeben. Die COM-Registrierung muss einen out-of-process COM-Server (d. h. LocalServer32) identifizieren.

Gilt für:

Weitere Informationen