Поделиться через


Метод IBitsTokenOptions::SetHelperToken (bits4_0.h)

Задает вспомогательный маркер для олицетворения маркера COM-клиента. Так как приложение задает маркер с помощью олицетворения COM, маркер не является постоянным и действителен только в течение всего времени существования сеанса. Когда служба BITS получает уведомление о выходе, служба BITS отменяет все вспомогательные маркеры, связанные с заданием передачи.

Синтаксис

HRESULT SetHelperToken();

Возвращаемое значение

Может быть возвращено следующее значение:

Возвращаемый код или значение Описание
CO_E_FAILEDTOIMPERSONATE
0x80010123
Параметры COM на клиенте не разрешают доступ к маркеру клиента на уровне олицетворения.
E_ACCESSDENIED
0x80070005
  • В версиях до Windows 10 версии 1607 задание не принадлежит администратору. В этих версиях Windows только задания, принадлежащие администратору, могут задавать вспомогательные маркеры.
  • В Windows 10 версии 1607 и более поздних эта ошибка указывает, что вспомогательный маркер имеет права администратора, но вызывающий объект не имеет прав администратора.

Комментарии

Вспомогательный маркер не должен представлять администратора.

Уровень олицетворения для олицетворения прокси-сервера должен иметь значение RPC_C_IMP_LEVEL_IMPERSONATE или RPC_C_IMP_LEVEL_DELEGATE. Дополнительные сведения см. в разделе Согласование общих сведений о безопасности.

Флаг маскировки должен иметь значение EOAC_DYNAMIC_CLOAKING, что позволяет COM-серверу использовать маркер потока в качестве удостоверения клиента. Дополнительные сведения см. в разделе Маскирование и перечисление EOLE_AUTHENTICATION_CAPABILITIES.

Более старые реализации фактически требовали, чтобы пользователи BITS имели права администратора для установки вспомогательных маркеров. Начиная с Windows 10 версии 1607 пользователи BITS без прав администратора могут использовать IBitsTokenOptions::SetHelperToken для задания вспомогательных маркеров без прав администратора в заданиях BITS, которыми они владеют. Это изменение позволяет пользователям BITS без прав администратора (например, фоновым службам загрузчика, работающим под учетной записью NetworkService) задавать вспомогательные маркеры.

В частности, реализация была изменена, чтобы разрешить пользователям без прав администратора задавать вспомогательные маркеры, если идентификатор безопасности токена вызывающего потока совпадает с идентификатором безопасности учетной записи пользователя владельца задания во время вызова IBackgroundCopyJob::QueryInterface , а в задаваемом вспомогательном маркере не включен идентификатор безопасности администратора (DOMAIN_ALIAS_RID_ADMINS).

Требования

Требование Значение
Минимальная версия клиента Windows 7
Минимальная версия сервера Windows Server 2008 R2
Целевая платформа Windows
Header bits4_0.h
Распространяемые компоненты Windows Management Framework в Windows Vista с пакетом обновления 1 (SP1), Windows Vista с пакетом обновления 2 (SP2) и Windows Server 2008 с пакетом обновления 2 (SP2)

См. также раздел

IBitsTokenOptions