BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.