Метод IBackgroundCopyJob::TakeOwnership (bits.h)

Изменяет владельца задания на текущего пользователя.

Синтаксис

HRESULT TakeOwnership();

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

Этот метод возвращает следующие значения HRESULT , а также другие.

Код возврата Описание
S_OK
Владение заданием было успешно изменено.
BG_E_INVALID_STATE
Состояние задания не может быть BG_JOB_STATE_CANCELLED или BG_JOB_STATE_ACKNOWLEDGED.
BG_E_NEW_OWNER_NO_FILE_ACCESS
У нового владельца недостаточно доступа к временным файлам на клиентском компьютере. BITS создает временные файлы, используя разрешения безопасности владельца.
BG_E_NEW_OWNER_DIFF_MAPPING
Сопоставление сетевого диска текущего владельца для локального файла отличается от сопоставления предыдущего владельца.
E_ACCESSDENIED
У пользователя нет прав администратора.

Комментарии

Чтобы стать владельцем задания, пользователь должен иметь права администратора на клиенте. В Windows Vista пользователь должен выполняться в состоянии с повышенными привилегиями. После получения прав владения все будущие обновления задания должны выполняться, пока пользователь работает в состоянии с повышенными привилегиями. Дополнительные сведения см. в разделе Пользователи и сетевые Connections.

Администратору не нужно владеть заданием другого пользователя, чтобы изменить его свойства или добавить в него файлы. Как правило, администратор использует метод TakeOwnership , если у пользователя нет достаточных разрешений для выполнения задания или если пользователь не вошел в систему и администратору необходимо выполнить задание.

После изменения владельца задания задание обрабатывается только при входе нового владельца в клиент. Вызовите метод IBackgroundCopyJob::GetOwner , чтобы получить идентификатор безопасности нового владельца.

Если администратор отменит задание после получения прав владения, возможно, файлы будут потеряны, так как у администратора нет разрешения на запись в файлы. Это может произойти, если место назначения локального файла находится в перемещаемом профиле предыдущего пользователя.

Метод TakeOwnership удаляет учетные данные, сертификаты, пользовательские заголовки и уведомление из командной строки , если он задан.

Если задание указывает уведомление о событии, обратный вызов выполняется в контексте пользователя, вызвавшего метод IBackgroundCopyJob::SetNotifyInterface .

Требования

Требование Значение
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Целевая платформа Windows
Header bits.h
Библиотека Bits.lib
DLL QmgrPrxy.dll

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

IBackgroundCopyJob::GetOwner