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

Задает флаги использования для маркера, связанного с заданием передачи BITS.

Синтаксис

HRESULT SetHelperTokenFlags(
  DWORD UsageFlags
);

Параметры

UsageFlags

Указывает флаг использования. Для этого параметра необходимо задать одно из следующих значений:

Значение Значение
BG_TOKEN_LOCAL_FILE
0x0001
Если этот флаг указан, используется вспомогательный маркер.
  • Открытие локального файла задания отправки
  • Создание или переименование временного файла задания загрузки
  • Создание или переименование файла ответа задания отправки и ответа
BG_TOKEN_NETWORK
0x0002
Если этот флаг указан, используется вспомогательный маркер.
  • Открытие удаленного файла задания отправки или скачивания SMB
  • В ответ на запрос HTTP-сервера или прокси-сервера для неявных учетных данных NTLM или Kerberos
Приложение должно вызывать IBackgroundCopyJob2::SetCredentials (..., NULL, NULL), чтобы разрешить отправку учетных данных по протоколу HTTP.

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

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Флаги использования вспомогательного маркера указывают, к каким ресурсам будет осуществляться доступ с помощью контекста безопасности вспомогательного маркера. BITS будет обращаться ко всем остальным ресурсам, используя контекст безопасности владельца задания. Например, доступ к сертификату клиента осуществляется с помощью удостоверения владельца задания.

Если указан сертификат клиента, а владельцем задания BITS не является учетная запись LocalSystem, установка параметра UsageFlag в BG_TOKEN_NETWORK приведет к сбою задания с кодом ошибки 0x80072f9a (ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY).

Более старые реализации фактически требовали, чтобы пользователи BITS имели права администратора, чтобы устанавливать флаги использования вспомогательных маркеров с помощью этого метода. Начиная с Windows 10 версии 1607 пользователи BITS без прав администратора могут использовать этот метод для установки флагов использования вспомогательных маркеров без прав администратора в заданиях 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