Параметр pHandlerServices метода запуска ITaskHandler не поддерживает интерфейс ITaskHandlerStatus - PullRequest
0 голосов
/ 08 января 2020

Я реализовал обработчик COM-действий для планировщика задач windows. Все работает, и мой метод Start вызывается, когда задача запускается, но параметр pHandlerServices не поддерживает интерфейс ITaskHandlerStatus.

Примечание. Это состояние наблюдается только в том случае, если UserId задачи имеет значение SYSTEM, LOCAL SERVICE или NETWORK. СЕРВИС.

Как установить статус задачи без доступа к этому интерфейсу?

Мое определение задачи следующее:

<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2020-01-07T19:07:31</Date>
    <Author>NosaRepository</Author>
    <URI>\NosaRepositoryStartWork__ReposXP_ZeroShadow_82_200107190731607</URI>
  </RegistrationInfo>
  <Triggers>
    <TimeTrigger>
      <StartBoundary>2020-01-07T19:08:31</StartBoundary>
      <Enabled>true</Enabled>
    </TimeTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>SYSTEM</UserId>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <Duration>PT10M</Duration>
      <WaitTimeout>PT1H</WaitTimeout>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <ComHandler>
      <ClassId>{2CAF8474-89D2-4BA7-B1FB-15DE86C04C64}</ClassId>
      <Data>...</Data>
    </ComHandler>
  </Actions>
</Task>

Заранее спасибо за ваши комментарии.

...