IBitsTokenOptions::GetHelperTokenFlags method (bits4_0.h)

Returns the usage flags for a token that is associated with a BITS transfer job.

Syntax

HRESULT GetHelperTokenFlags(
  [out] DWORD *pFlags
);

Parameters

[out] pFlags

Specifies the usage flag to return. This parameter must be set to one of the following values:

Value Meaning
BG_TOKEN_LOCAL_FILE
0x0001
If this flag is specified, the helper token is used
  • To open the local file of an upload job
  • To create or rename the temporary file of a download job
  • To create or rename the reply file of an upload-reply job
BG_TOKEN_NETWORK
0x0002
If this flag is specified, the helper token is used
  • To open the remote file of a Server Message Block (SMB) upload or download job
  • In response to an HTTP server or proxy challenge for implicit NTLM or Kerberos credentials
An application is required to call the IBackgroundCopyJob2::SetCredentials method to allow the credentials to be sent over HTTP.

Return value

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

Older implementations effectively required that BITS users have administrator privileges in order to get helper token flags with this method. Starting with Windows 10, version 1607, non-administrator BITS users can use this method to get helper token usage flags on BITS jobs they own. This change enables non-administrator BITS users (such as background downloader services running under the NetworkService account) to use helper tokens effectively.

Specifically, the implementation has been changed to allow users without administrator privileges to get helper token flags, as long as the SID of the caller's thread's token is the same as the SID of the job owner's user account during the IBackgroundCopyJob::QueryInterface call.

Requirements

Requirement Value
Minimum supported client Windows 7
Minimum supported server Windows Server 2008 R2
Target Platform Windows
Header bits4_0.h
Redistributable Windows Management Framework on Windows Vista with SP1, Windows Vista with SP2, and Windows Server 2008 with SP2

See also

IBitsTokenOptions