IBitsTokenOptions::GetHelperTokenFlags method

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

Syntax


HRESULT GetHelperTokenFlags(
  [out] DWORD *pFlags
);

Parameters

pFlags [out]

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

ValueMeaning
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

Minimum supported client

Windows 7

Minimum supported server

Windows Server 2008 R2

Redistributable

Windows Management Framework on Windows Vista with SP1, Windows Vista with SP2, and Windows Server 2008 with SP2

Header

Bits4_0.h

IDL

Bits4_0.idl

IID

IID_IBitsTokenOptions is defined as 9a2584c3-f7d2-457a-9a5e-22b67bffc7d2

See also

IBitsTokenOptions

 

 

Show: