BITS Job Queue Paths in Windows Registry
The Background Intelligent Transfer Service (BITS) is a Windows component used by the operating system and third-party applications for asynchronous, prioritized file downloads and uploads. While BITS relies on the Windows Registry to catalog its service settings, operational parameters, and system state policies, the underlying job queues and file paths are handled through a combination of dedicated registry keys and localized database files. This article outlines the exact registry paths associated with BITS and details how Windows catalogs active transfer jobs.
Primary Registry Locations for BITS
In the Windows Registry Editor (regedit.exe), BITS
configurations and operational paths are cataloged under two main
locations:
1. Service Parameters and State
- Path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BITS - Subkeys:
Parameters: Defines the service DLL (qmgr.dll), service initialization options, and hosting environment.Performance: Holds performance counter registry paths and configuration for tracking transfer metrics.
2. BITS Policies and Application Settings
- Path:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\BITS - Subkeys & Values: Contains machine-wide configuration parameters, bandwidth throttling rules, and state configuration used by the service manager.
Active Job Queue Storage Architecture
While configuration parameters reside in the registry, active BITS job metadata—including remote URLs, local destination file paths, job owners, and transfer progress—is serialized to disk rather than stored as individual registry values.
The job queue data cataloged by the BITS service is stored in the following directory:
- Queue Database Path:
%ALLUSERSPROFILE%\Microsoft\Network\Downloader\(typicallyC:\ProgramData\Microsoft\Network\Downloader\)
Within this directory, BITS maintains the active queue state using
database files: * qmgr.db (used in modern versions of
Windows 10 and Windows 11) * qmgr0.dat and
qmgr1.dat (used in older versions of Windows and legacy
BITS engines)
Inspecting Active BITS Jobs
Because the raw database files and registry entries are locked by the
BITS service process (svchost.exe), querying
specific job paths is best performed using administrative command-line
tools that interact with the BITS API directly:
PowerShell:
Get-BitsTransfer -AllUsers | Select-Object JobId, DisplayName, FileList, JobStateCommand Prompt:
bitsadmin /list /allusers /verbose
These commands parse the active BITS queue cataloged on the system, displaying the exact source URLs and local file destination paths configured for each transfer.