BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
既存の BackgroundTaskBuilder オブジェクトを使用して COM CLSID エントリ ポイントを割り当てます。
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)
パラメーター
- TaskEntryPoint
-
Guid
Platform::Guid
winrt::guid
アプリケーション定義 TaskEntryPoint クラスの名前。
Windows の要件
デバイス ファミリ |
Windows 10, version 2004 (10.0.19041.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v10.0 で導入)
|
例
次のコード サンプルでは、BackgroundTaskBuilder を使用して、作成された WinMain COM バックグラウンド タスクを 15 分間隔でタイム トリガーに登録する方法を示します。
サンプル コードでは、特定のタスク名を持つバックグラウンド タスクが既に登録されているかどうかを確認することで、重複するタスクの作成を回避します。 これはサンプル コードで行われます。これは、特定のバックグラウンド タスクの登録が 1 つだけ存在するという意図があるためです。
同じエントリ ポイント (またはトリガーまたは名前) を持つ 1 つまたは複数のバックグラウンド タスクを作成するのは、アプリ開発者が行う必要があります。
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);
注釈
従来の COM CLSID アクティブ化の場合、アクティブ化する CLSID は、登録時に SetTaskEntryPointClsid メソッドを使用して指定されます。 COM 登録では、アウトプロセス COM サーバー (つまり LocalServer32) を識別する必要があります。