다음을 통해 공유


BackgroundTaskBuilder.SetTaskEntryPointClsid(Guid) 메서드

정의

기존 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분 간격으로 시간 트리거에 등록하는 방법을 보여 줍니다.

샘플 코드는 특정 작업 이름을 가진 백그라운드 작업이 이미 등록되어 있는지 확인하여 중복 작업을 만들지 않도록 합니다. 이 작업은 하나의 특정 백그라운드 작업 등록만 존재하기 때문에 샘플 코드에서 수행됩니다.

동일한 진입점(또는 트리거 또는 이름)을 사용하여 하나 이상의 백그라운드 작업을 만드는 것은 앱 개발자의 입니다.

 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 등록은 Out-of-process COM 서버(예: LocalServer32)를 식별해야 합니다.

적용 대상

추가 정보