- Overview
- Realm setup
- Active Directory & SCCM setup.
- Active directory - Security group
- Active directory - Broker account
- SCCM - Deployment collection
- SCCM - Administrative category for applications
- SCCM - Administrative category for office
- SCCM - Limiting collection for collections
- AD - Parent AD group for AD group list
- AD - Staging OU
- SCCM - Configuration directory
- SCCM - WinPE boot image setup
- Configuration tool & File
- Realm secret key
- Allowed WinPE instances
- Network access account
- Notification account
- Hostname formatting
- Automatically identify hostname
- Overrides
- Active directory staging OU
- MBAM Server details
- SMTP server details
- Notification types
- User state migration (USMT)
- Logs and Profiles location
- Disk setup
- Content availability check
- Error adding collection member
- Error adding AD group member
- Wait for Bitlocker decryption
- Approved hardware
- Extension Attributes
- Using sccmtspsi (Operator view)
- Task sequence steps
- Task sequence error codes
- sccmtspsi error codes
1.Overview
What is sccmtspsi?
sccmtspsi is an SCCM task sequence deployment orchestrator used by organisations to manage the deployment of operating system task sequences. Reduces use of complex scripts, increases SOE build success, Agile release of task sequence deployments, prevents data loss and creates a repeatable & easily documented SOE environment.
What does it do?
- Automatically identify the device name or set a computer name during the Task Sequence. Set computer name prefix, suffix and case.
- Create and use selection profiles for SCCM applications, SCCM collections, Active Directory groups.
- Unlock Bitlocker automatically from within the Task Sequence: Active Directory, MBAM, key or password.
- Select one of the many Task Sequence deployments using the sccmtspsi user interface.
- Select from a list of Operating System Images and Packages available within the selected Task Sequence.
- Select your preferred Office Suite Application from a list of Office Suite SCCM Applications.
- Select one or more SCCM Applications from a list of available SCCM Applications.
- Add the machine to one or more SCCM Collections from a list of available SCCM Collections.
- Add the machine to one or more Active Directory Groups from a list of available Active Directory Groups.
- Select the User State Migration (USMT) method: Hardlink, USB, Network.
- Format the disk to recommended standards for Legacy and UEFI BIOS.
- Add data volumes with drive letters to the selected disk.
- Select one or more primary users for the device.
- Select from 18 extension attributes with the potential to direct the task sequence in multiple paths.
- Using the decommission feature to decommission a device securely.
- Set supported hardware models.
Is it easy to setup?
This page is a comprehensive step-by-step image-led documentation for the orchestrator.
Step 1: Download and install the sccmtspsi components ZIP file. Click here.
Step 2: The free license token is in the above ZIP file.
Step 3 Create a customized WinPE image using the WinPE customizer. Click here.
Step 4: Create a configuration file. Click here.
2.Create a Realm
Put simply, a Realm is a scope within which SCCMTSPSI operates. A Realm name should be exactly 3 characters in length.
- Task sequences deployed to a SCCM deployment collection for a specific Realm, can only be viewed in a SCCMTSPSI instance running under the same Realm.
- Applications categorized for a specific Realm, can only be viewed in a SCCMTSPSI instance running under the same Realm.
- Collections who’s parent collection is configured for a specific Realm, can only be viewed in a SCCMTSPSI instance running under the same Realm.
- Realms have their own unique CONFIG files.
- USMT configurations can be uniquely tailored for different Realms.
So in short, a realm is a strategic parameter within which SCCMTSPSI will operate.
Examples of Realm names : xyz or s01 or r04 or ks4 etc..
3.Active Directory & SCCM setup.
The following items have to be created in Active Directory and SCCM for each Realm.
- Active directory – Security group.
- Active directory – Broker account.
- SCCM – Deployment collection.
- SCCM – Administrative category for applications.
- SCCM – Administrative category for office.
- SCCM – Limiting collection for collections.
- AD – Parent AD group for AD group list
- AD – Staging OU
- SCCM – Configuration directory.
- SCCM – WinPE boot image setup.
3.1.Active directory - Security group
The Realm security group serves two objectives.
- Acts as the gate keeper, by maintaining a list of Active Directory users who can access a SCCMTSPSI Realm instance.
- Provides read access into the configuration directory for a Realm.
Create the below Active Directory global security group.
sccmtspsi-users-XXX [Where XXX is the Realm name]
The security group members tab will look similar to the below image. Where “Build Engineer 1” , “Build Engineer 2” and “Build Engineer 3” are normal sccmtspsi operators and “sccmtspsi-broker-r01” is the broker account [discussed in the next section].

Note:
- The Realm security group can be a nested group. But for performance purposes, we recommend using a flat membership structure.
- Do not add any foreign security principals as a member of this group.
3.2.Active directory - Broker account
There should be one Active directory broker account per Realm. As the name suggests, this account acts as an intermediary or a broker between the SCCMTSPSI user interface and the backend infrastructure. Create the below Active Directory account.
sccmtspsi-broker-XXX [Where XXX is the Realm name]
Add the broker account as a member of the below security group.
sccmtspsi-users-XXX [Where XXX is the Realm name]
This Active Directory account should have the following privileges : [This will be the security context for the Realm]
- Permission to add/remove computer object and corresponding leaf objects in ADDS. We recommend narrowing the permission scope to specific areas within ADDS.
- Permission to remove computer objects from SCCM. We recommend narrowing the permission scope to specific areas within SCCM. E.g. Deny permission to Server collections, Allow access to non-server collections.
- Permission to stage computer objects into SCCM. We recommend narrowing the permission scope to specific areas within SCCM. E.g. Just “All Systems” [or one derived from that] and the Realm deployment collection “sccmtspsi-deployments-r01” [r01 is the name of the Realm].
- Read access to the “patch“, “token” and “usmt” folders within the configuration directory (discussed later in this page).
- Read/Write access to the logging location set in the configuration file (discussed later in this page).
- ‘Advanced helpdesk’ or ‘Administrator’ level access to Microsoft Bitlocker Administration and Monitoring services (discussed later in this page).
3.3.SCCM - Deployment collection
Task sequences that are created to target a Realm will be deployed to this Collection. The Collection name will be similar to the name below.
sccmtspsi-deployments-XXX
[Where XXX is the Realm name]
The Realm broker account should have permissions to add members into the above deployment Collection and appropriate permissions to the deployment Collections limiting Collection.
Important: Make sure “User incremental updates for this collection” option is selected in the collection properties membership rules tab.

Deploy all required task sequences to the above deployment collection.
Please note: If you boot by PXE. Also, deploy at least one of your task sequences with the correct sccmtspsi WinPE customized boot image to the ‘ALL UNKNOWN COMPUTERS’ collection. This could be an empty task sequence with the correct sccmtspsi WinPE customized boot image or you could use your functional task sequence.
Desired setting:
- Available.
- Only media and PXE (hidden)

3.4.SCCM - Administrative category for applications
The standard application Realm administrative category marks an SCCM application as belonging to a Realm.
The administrative category can be similar to the below entry.
sccmtspsi-applications-XXX [Where XXX is the Realm name]

An application can be a part of one or more Realm categories [belonging to one or more Realms].
Image showing SCCM application listed in the sccmtspsi console.

Note:
Check the box “Allow this application to be installed from the Install Application task sequence action without being deployed”.
Distribute content to the distribution points.
3.5.SCCM - Administrative category for office
The office suite Realm administrative category marks an SCCM office suite application as belonging to a Realm.
The administrative category can be similar to the below entry.
sccmtspsi-officesuites-XXX [Where XXX is the Realm name]

An office suite can be a part of one or more Realm categories [belonging to one or more Realms].
Image showing Office Suite in sccmtspsi console.

Note:
Check the box “Allow this application to be installed from the Install Application task sequence action without being deployed”.
Distribute content to the distribution points.
3.6.SCCM - Limiting collection for collections
The limiting collection is the parent collection for all the collections that should be displayed for the sccmtspsi Realm instance.
The name of the limiting collection should be similar to the below entry.
sccmtspsi-collections-XXX [Where XXX is the Realm name]
The Realm broker account should have permissions to add members into the above limiting collection.
The Realm broker account should have permissions to add members into the collections that use the above collection as a limiting collection.
Include the Realm deployment collection “sccmtspsi-deployments-r01” [where r01 is the Realm name] and one of the top level collections [All Systems, All Desktop and Server Clients etc..] as members of the limiting collection.
Check the box “Use incremental updates for this collection” as seen in the image below.

The setup will look similar to the setup below. The collections “Level 3 SCCMTSPSI HQ laptops“, “Power saving for desktop” and “Support computers for HQ agents” will be displayed on the sccmtspsi console.

Image showing collections in the sccmtspsi window.

3.7.AD - Parent AD group for AD group list
A realms parent active directory group is the parent group for all the active directory groups that should be displayed for the sccmtspsi Realm instance.
The name of the active directory group should be similar to the below entry.
sccmtspsi-groups-XXX [Where XXX is the Realm name]
The Realm broker account should have permissions to add members into the above group.
The Realm broker account should have permissions to add members into the groups that are members of the “sccmtspsi-groups-r01” [where r01 is the Realm name] group.

View of the above active directory groups in sccmtspsi. The below is a GIF (Graphics in file) image (Turn on animation in Internet Explorer).
Image showing AD groups listed within the sccmtspsi application console.

3.8.AD - Staging OU
Temporary staging Active Directory Organizational Unit for computers.
- Provide the Active Directory broker account access to create computer objects in this OU.
- Start the path with ldap:// prefix.
- Do not use any special characters other than whats really required.
If the computer object is already in an OU other than the “Staging OU”, the broker account should have access to the source OU in Active Directory to successfully move the computer into the “Staging OU”.

3.9.SCCM - Configuration directory
Create a folder with the name sccmtspsi on one of the drives on the SCCM management point.

Share the above folder and give it a share name sccmtspsi.
Grant ‘Read‘ Share and NTFS permission to the below security group [Implement strict access controls by removing other security principals].
sccmtspsi-users-XXX
[Where XXX is the Realm name]


Create a sub-folder and give it the same name as your Realm. If you’ve got multiple realm’s your setup will look similar to the below image.
In the below image r01, ret and xyz are realm names.

Create the following sub-folders inside the newly created sub-folder (named after the Realm)
- token
- usmt
- patch

Break inheritance and only grant read access to the realm broker account “sccmtspsi-broker-r01” [r01 is the name of the Realm] for the three sub-folders. Only the Realm broker and administrators will have access to these folders.

The configuration file :
This is an integral part of SCCMTSPSI. The file “sccmtspsi.config” holds within it the configuration data necessary for SCCMTSPSI to function.
The configuration file is created using the SCCMTSPSI configuration tool. Information on how to create the configuration file using the tool has been documented in another section.
The configuration file resides in the configuration directory for the Realm as seen in the image below.

Token folder:
The ‘free.token‘ file will be found in your downloaded ZIP file. The Free license token should be placed inside the ‘token’ sub-folder.

USMT folder:
Save USMT XML files into the “usmt” folder under the Realm configuration directory. In the below image “r01” is the Realm name.

Patch folder:
Special custom subroutines can be initiated at various parts during sccmtspsi run-time.
On request we can develop patches to accomplish tasks specific to your environment.
These patches should be copied to the ‘patch’ sub-folder.
3.10.SCCM - WinPE boot image setup
This step walks you through the process of customizing your Windows PE image (Windows Assessment and Deployment Kit) with the sccmtspsi orchestration components.
The Windows PE customizer is one of the 4 elements of the sccmtspsi component package. Download here.
Open the “Windows PE customizer” application (requires administrative access).
Browse to the folder that contains the content of the Windows Assessment and Deployment Kit. The toolkit folder must contain the following subfolders.
- Deployment Tools
- User State Migration Tool
- Windows Preinstallation Environment
Note: During the installation of the Windows Assessment and Deployment Kit, select the above-listed components. Windows Pre-execution environment is a separate download to the rest of the Windows Assessment and Deployment Kit components.
SCCMTSPI is updated regulary. So try and keep the version number of ADK WinPE Addon and the version number of “sccmtspsi components” in sync. See images below for more clarity.
If the prerequisite is met, you will be moved to the next screen.
Based on your system architecture, click either on the “Generate WinPE image for AMD64 architecture” or the “Generate WinPE image for X86 architecture” button.
The application will do the following.
- Extract the Windows PE image from the Windows Assessment and Deployment Kit.
- Customize it with advanced orchestration features.
- Place the customized Windows PE image into a directory of your choice (as seen in the image below).
Wait for the process to complete. After the successful completion of the customization process, you’ll be able to retrieve the customized Windows PE image from the location you had chosen in the previous step.
Import the customized Windows PE image into SCCM.
Make the following changes to the imported boot image, after the sccmtspsi customized boot image has been imported into SCCM.
sccmtspsi.exe -realmname r01 -instancename yourinstancename -logindomain yourdomain.com -sccmserver sccmserver.yourdomain.com -adservername yourdomaincontroller.yourdomain.com -adconnectiontype adws -sccmsitecode S01 -timeserver yourtimeserver.yourdomain.com -timezone "New Zealand Standard Time" -dnsserverip xxx.xxx.xxx.xxx
Note: Always copy and paste into a basic text editor and check if the command line is readable and in a single line.

Note : All of the below parameters are required.
realmname : It is the 3 character Realm name.
instancename : The name of the WINPE instance. Edit the name (issue a new name) to rein in old USB and Full media. All allowed instances are set in the configuration file.
logindomain : This is your authenticating domain [Should be 2008 R2 or greater].
sccmserver : The fully qualified domain name of your SCCM management point server.
adservername : The fully qualified domain name of the domain controller wherein Active Directory Web Services is installed. [Should be 2008 R2 or greater].
adconnectiontype : adsi [Active Directory Service Interface] or adws [Active Directory Web Services].
sccmsitecode : The SCCM site to which the clients will be assigned to.
dnsserverip : The IP address of your DNS server.
timeserver : The fully qualified domain name of the time server from which sccmtspsi will synchronize the time & date. In a standard domain setup, the root domain controller will have the time service running on it.
timezone : Your time zone. Run the following Power Shell command to find your time zone.

4.Configuration tool & File
The configuration tool is used to generate or edit a “sccmtspsi.config” file.
Click to download the configuration tool from the downloads page.
Note: dot Net framework 4.5 or above is required to run the Configuration tool.
Launch the tool from the Start menu as per the below image.

The configuration file is located in the Realm configuration directory as depicted in the image below.

To create a new configuration file. Open the Configuration tool. Input all information (as described in the next section) and save the configuration file into the Realm configuration directory by clicking on the “Save configuration file” button.

To open a pre-created “sccmtspsi.config” file. Open the Configuration tool. Click on the “Open configuration file” button. Browse to the location wherein the configuration file is stored.

A Realm secret key (described in the next section) is required to open a pre-created “sccmtspsi.config” file.

4.1.Realm secret key
Realm secret key is the security password for all read/write operations undertaken by the sccmtspsi broker.
The value set for this key should be the same as the password set for the “sccmtspsi-broker-r01” [Where r01 is the Realm name] active directory account.
The Realm secret key is required to open and edit the “sccmtspsi.config” file.
We recommend resetting the password for the broker “sccmtspsi-broker-r01“ [Where r01 is the Realm name] active directory account frequently. The Realm secret key has to be changed when the password for the broker account is changed.

As stated earlier, the Realm secret key is required to open a pre-created “sccmtspsi.config” configuration file.

4.2.Allowed WinPE instances
To allow a WinPE instance to run, the value corresponding to the command line parameter ‘ -instancename ‘ should be added to the below list. Read details about ‘SCCM – WinPE boot image setup’ in the previous section => Click here.
- The feature can be used to rein in old USB and Full media boot devices.
- This option helps administrators keep their USB boot devices up-to-date with the latest image.
- Administrators should assign a new instance name, when changes are made to the WinPE boot image.
- Use alphabets, numbers, – (hyphen) and . (dot); No other special characters are allowed. Cannot end or begin with a special character.
Instance names can be up to 25 characters in length.

4.3.Network access account
This account will only be used to gather logs to a network share (set in the “sccmtspsi.config“) and restore USMT data from a network share (set in the “sccmtspsi.config“).

4.4.Notification account
sccmtspsi uses this account to send email notifications.
- This email account is used to authenticate to the SMTP server.
- This email account is also used to receive administrative notifications.
- sccmtspsi application should have access to send email via the designated SMTP server.

4.5.Enter hostname case, prefix and suffix
This module mandates the below formatting on the hostname entered by the sccmtspsi operator.
Case: UPPER or lower.
Prefix: 0 – 4 characters in length.
Suffix: 0 – 4 characters in length.
The above mandate will be overridden when the hostname begins with a “!” symbol [If the global option to “override conflicts” is enabled in the “sccmtspsi.config” configuration file. Covered in following section].

4.6.Automatically identify hostname ?
SCCMTSPSI can automatically identify the hostname of the device. Automatic identification happens in the following ways.
- Searches the device to identify previously assigned NetBIOS name.
- Submits a request to SCCM by issuing a token which includes the physical address and the System management BIOS identifier of the device.
Select True to automatically identify the hostname or False to turn off this module.

4.7.Check hostname structure, SCCM conflicts & DNS conflicts ?
SCCMTSPSI can automatically identify conflicts. Automatic conflict identification happens in the following ways.
- Does a DNS lookup to identify if another device with the same NetBIOS name is active (responding to ICMP requests) in the network.
- Submits a request to SCCM containing the physical address and/or the system management BIOS identifier of the device. By default, when processing actions sccmtspsi will fail if record conflicts are identified.
Cautiously select the option Truebutallow! to allow the operator to override conflicts. To enforce conflict checks select True and to turn off conflict checks completely select False.
When Truebutallow! is used the operator adds a ! before the hostname. e.g. !PC456W10 . Where PC456W10 is the hostname, “PC” is the prefix and “W10” is the suffix.
Truebutallow! also provides the operator with an option to overrides the case, prefix and suffix mandate.
For e.g. If the operator enters a hostname !456 , sccmtspsi will not add the prefix “PC” and the suffix “W10″ . Thus the host name remains as 456 . But conversely, If the operator enters a hostname 456 , sccmtspsi will add the prefix “PC” and the suffix “W10″ and the hostname will now change to PC456W10 .

4.8.Active directory staging OU
Temporary staging Active Directory Organizational Unit for computers.
- Provide the Active Directory broker account access to create computer objects in this OU.
- Start the path with ldap:// prefix.
- Do not use any special characters other than whats really required.
If the computer object is already in an OU other than the “Staging OU”, the broker account should have access to the source OU in Active Directory to successfully move the computer into the “Staging OU”.

4.9.MBAM Server details
Specify your MBAM server address URL. If recovery keys are stored in the MBAM recovery and hardware database, sccmtspsi will use this MBAM server address to automatically unlock locked drives.
MBAM server address should begin with https://.
Note : The realm broker account should have permission to read the recovery password from Microsoft Bitlocker Administration and Monitoring service. Add the realm broker account either to the “Advanced helpdesk users” active directory group or the “MBAM administrators” active directory group.

4.10.SMTP server detail
sccmtspsi uses an SMTP server to send email notifications.
The following information is required for the email notifications to work.
- SMTP server fully qualified domain name (FQDN).
- SMTP server port number.
- Enable SSL : True or False.

Bug : If an SMTP server is not configured or ‘not working’ sccmtspsi fails to copy logs automatically to the server logging location. The current workaround is to configure a working SMTP server. This error will be fixed in the next release.
4.11.Notification types
There are 3 types of notifications.
Login notification : If set to True, notifies the operator about the operators login event. If set to True, notifies the notifications administrator about all login events. Login notification as simplistic; These notifications are used for logging purposes only. Operator information, Architecture information, total run time, system information, Realm name, Domain name etc..

Failure notification : If set to True, notifies the operator about the operators Failure event. If set to True, notifies the notifications administrator about all Failure events.

Success notification : If set to True, notifies the operator about the operators Success event. If set to True, notifies the notifications administrator about all Success events. Success notification are very detailed. The following details or parts of it will appear in success notifications.
- General information : Operator information, Architecture information, total run time, system information, Realm name, Domain name etc..
- Task sequences : Available and Selected.
- Operating system : Available and Selected.
- Office suites : Available and Selected.
- Standard applications : Available and Selected.
- Collections : Available and Selected.
- Disk and partition : All partitions and Selected partitions.
- Task sequence variables : All task sequence variables set by sccmtspsi.

Final Build report notification: If set to True, sends the operator a comprehensive build documentation. If set to True, sends the administrator a comprehensive build documentation.

Notifications can be enabled or disabled in the sccmtspsi configuration file.

4.12.User state migration (USMT)
User State Migration Tool (USMT) can be used to streamline and simplify user state migration during large deployments of Windows operating systems. USMT captures user accounts, user files, operating system settings, and application settings, and then migrates them to a new Windows installation. The USMT files are packaged as part of our customized sccmtspsi WinPE image.
- USMT provides the following benefits to businesses that are deploying Windows operating systems:
- Safely migrates user accounts, operating system and application settings.
- Lowers the cost of deploying Windows by preserving user state.
- Reduces end-user downtime required to customize desktops and find missing files.
- Reduces help-desk calls.
- Reduces the time needed for the user to become familiar with the new operating system.
- Increases employee satisfaction with the migration experience.
Note: Support for the User State Migration Tool (USMT) will not be provided by sccmtspsi. The User State Migration Tool (USMT) is packaged into the winPE image just for your convenience.
All USMT configuration files are located or should be place within the “usmt” directory under the Realm configuration directory. In the below image “r01” is the Realm name.

4.12.1.USMT Data store encryption
USMT enables support for stronger encryption algorithms. The encryption process generates cipher text that can only be viewed in its original form if decrypted with the correct key.
Select the encryption strength to be used for encryption of the migration store. The encryption algorithm you choose must be used both during capture (using sccmtspsi) and restore (using the sccmtspsi restore tool or your custom scripts).
Encryption key : Should be 8 – 20 alphanumeric characters long.
Encryption strength : AES, AES_128, AES_192, AES_256, 3DES or 3DES_112.

4.12.2.USMT Migration types
sccmtspsi allows three types of migrations.
- Network based migration
- USB based migration
- Hardlink migration
Network : The migration store will be created on the specified network location. Select True to compress the migration store. If the migration store exist, the existing migration store will be backed up with a time stamp and a new migration store is created.
USB : The migration store will be created on a USB drive with the specified identification label. Select True to compress the migration store. If the migration store exist, the existing migration store will be backed up with a time stamp and a new migration store is created.

Hard-link : A hard-link migration store enables us to perform an in-place migration where all user state is maintained on the computer while the old operating system is removed and the new operating system is installed; this is why it is best suited for the computer-refresh scenario. Use of a hard-link migration store for a computer-refresh scenario drastically improves migration performance and significantly reduces hard-disk utilization, reduces deployment costs and enables entirely new migration scenarios.
4.12.3.USMT migration store free space
The USMT data capture process will fail if there is not enough space available in the specified network location or the configured USB drive.
Check if enough space is available to hold the data captured during the USMT process by selecting True.
It is recommended to set this option to False to reduce the overall time taken by the capture process.
If the actual capture procedure should identify a shortage of available free space after setting this option to False , the process would exit with an error code (which would be the same but less time consuming than calculating free space before the actual capture process).

4.12.4.USMT Config xml
The Config.xml (or any selected name) file is an optional User State Migration Tool (USMT) file that you can create using the /genconfig option with the ScanState.exe tool. If you want to include all of the default components, and do not want to change the default store-creation or profile-migration behavior, you do not need to create a Config.xml file.
However, if you are satisfied with the default migration behavior defined in the MigApp.xml, MigUser.xml and MigDocs.xml files, but you want to exclude certain components, you can create and modify a Config.xml file and leave the other .xml files unchanged. For example, you must create and modify the Config.xml file if you want to exclude any of the operating-system settings that are migrated. It is necessary to create and modify this file if you want to change any of the default store-creation or profile-migration behavior.
The Config.xml file has a different format than the other migration .xml files, because it does not contain any migration rules. It contains only a list of the operating-system components, applications, user documents that can be migrated, as well as user-profile policy and error-control policy. For this reason, excluding components using the Config.xml file is easier than modifying the migration .xml files, because you do not need to be familiar with the migration rules and syntax. However, you cannot use wildcard characters in this file.
For more information about using the Config.xml file with other migration files, such as the MigDocs.xml and MigApps.xml files, see Understanding Migration XML Files. Reference: Microsoft documents.
Save the XML file into the “usmt” folder under the Realm configuration directory. In the below image “r01” is the Realm name.

Specify the same name (in this case Config.xml) in the sccmtspsi configuration tool.

4.12.5.Migration rules XML
You can modify the behavior of a migration by using XML files; these files provide instructions on where and how the USMT tools should gather and apply files and settings. USMT includes three XML files that you can use to customize a basic migration: the MigDocs.xml and MigUser.xml files, which modify how files are discovered on the source computer, and the MigApps.xml file, which is required in order to migrate supported application settings. You can also create and edit custom XML files to further customize your migration.
Save all the migration rule xml’s into the “usmt” folder within the Realm configuration directory. In the below image “r01” is the Realm name.

Include all of your .xml files as comma separated values (CSV).

4.12.6.Ignore return error codes
All return codes are important. But if return codes are deemed as non-fatal and they can be safely ignored, specify them as comma separated values (CSV).

4.12.7.Migrating EFS files
Choose from the following options to migrate encrypted files. In all cases, by default, USMT fails if an encrypted file is found unless you use one of the following options.
Abort : Causes the process to fail with an error code, if an Encrypting File System (EFS) file is found on the source computer.
Skip : Ignore EFS files.
Decryptcopy : Directs the process to decrypt the file, if possible, before saving it to the migration store, and to fail if the file cannot be decrypted. If the process succeeds, the file will be unencrypted in the migration store, and when you run the restore procedure, the file will be copied to the destination computer.
Copyraw : Directs the process to copy the files in the encrypted format. The files will be inaccessible on the destination computer until the EFS certificates are migrated. EFS certificates will be automatically migrated; so when you run the restore procedure, the encrypted file and the EFS certificate will be automatically migrated.
Hard-link : Set this to True; if during hard-link capture scenarios you’d like Encrypting File System (EFS) files to be hard-linked and not copied.

4.12.8.Move domain
Specifies a new domain for users. USMT can migrate settings between different user accounts in different domains or between a local and a domain account. If only the domain name changes but the user names stay the same.

4.12.9.Move user
Specifies a new user name for specified users. Use this option if both domain and user names change.

4.12.10.Currupt user profiles
Corrupt profiles or a “profileList” registry entry that points to a non-existent folder can cause state capture issues, failures and delays. Set this option to True to ignore these profiles. This is just an additional precautionary action to stop unnecessary failures. Profiles without a local profile folder will not appear in the list whether or not this option is set to True or False .

4.13.Logs and Profiles location
Specify the location to where the logs will be saved and choose the location from where the application & collection profiles will be selected.
Logging location : All logs will be copied to this network location on Failure (within sccmtspsi) , Success (within sccmtspsi) and when the sccmtspsi-copylogstonetwork application is run during the task sequence.
Logging location permissions :
- Provide the Realm broker account “sccmtspsi-broker-r01” [where r01 is the Realm name] read and write access to the logs location [Share and NTFS].
- Provide the Network access account read and write access to the logs location [Share and NTFS].
- Provide administrators read and write access to the logs location [Share and NTFS].
Profiles location : There are two types of profiles. Application profiles and Collection profiles. Create sub-folders for each type.
- Application profiles – This location contains text files with a “.sccmapps” extension; Each file contain a list of SCCM application names.

- Collection profiles – This location contains text files with a “.sccmcols” extension; Each file contain a list of SCCM collection names.

Profiles location permissions :
- Provide the Realm broker account “sccmtspsi-broker-r01” [where r01 is the Realm name] read access to the profiles location [Share and NTFS].
- Provide administrators read and write access to the profiles location [Share and NTFS].
The profile creation is discussed in detail in another section.
4.14.Disk setup
This module allows you to choose the disk number to use as the Operating System disk, label the operating system volume and up to two data volumes for the selected disk number.
Select a disk number. All mandatory, OS, data and optional recovery volumes will be created in the selected disk.

SCCMTSPSI automatically detects a computer that is in UEFI mode and formats the disk with the following partitions.
- Partition number – 0 ; Partition type – EFI ; Partition size –
- Partition number – 1 ; Partition type – MSR ; Partition size –
SCCMTSPSI automatically detects a computer that is in Non-UEFI mode and formats the disk with the following partitions.
- Partition number – 0 ; Partition style – MBR ; Partition size –
- Partition number – 1 ; Partition style – NTFS ; Partition size –

UEFI mode uses the following layout.
![]()
Non-UEFI {Legacy} mode uses the following layout.
![]()
Recovery partition is optional. Set the value to 0 MB to not use a recovery partition.

sccmtspsi allows the use of up to 2 data volumes. The data volumes will be created on the disk (disk number) selected.
The drive letter will be set by the “sccmtspsi-tasksequence.exe -end” process that runs at the end of the task sequence.

Set the Operating System volume label.
Note : When choosing data volumes, allow sufficient space for the creation of the OS volume.

4.15.Content availability check
Checks if the content referenced by items selected in sccmtspsi is available in the clients distribution point(s).
- All items referenced in the selected task sequence.
- All selected applications.
- The selected office application.

4.16.Error adding collection member
When the operator selects a list of standard collections to add the current device into; the process to add the device into some of the collections might fail. The failure could happen because of multiple reasons.
- Network glitch.
- Lack of permissions for the Realm broker.
- Device not a member of the limiting collection.
Select False (recommended) to proceed without exiting with a Failure note. Select True to exit with a Failure message.
The Success notification will show the list of “Collections” into which the device was added as a member.

4.17.Error adding AD group member
When the operator selects a list of AD groups to add the current device into; the process to add the device into some of the AD groups might fail. The failure could happen because of multiple reasons.
- Network glitch.
- Lack of permissions for the Realm broker.
Select False (recommended) to proceed without exiting with a Failure note. Select True to exit with a Failure message.
The Success notification will show the list of “AD groups” into which the device was added as a member.

4.18.Wait for Bitlocker decryption
Bitlocker decryption happen only during the Bitlocker turn-off scenario.
During this process, if this option is set to True , sccmtspsi waits for the disk decryption process to finish before handing control back to the operator to initiate the build.
If the option is set to Ask, the operator can click the Continue button without having to wait for the decryption process to complete.
If the option is set to False, sccmtspsi will initiate the decryption and continue without waiting.

4.19.Approved hardware
Select True to only allow sccmtspsi realm operators to initiate deployments on pre-approved hardware device models.
Identify the value of the Model property of the win32_computersystem wmi class and add it to the below list.
Selecting False will allow deployments to be initialized on all hardware device models.

4.20.Extension Attributes
sccmtspsi allows the creation of 18 extension attributes. Extension attributes are custom task sequence variables that can be used to chart the path of the task sequence.
The input values for the extension attributes are set in the Realms configuration file. The sccmtspsi operator can then select the necessary values for each of the above attributes in the sccmtspsi application console in WinPE.
Configuration file view :

sccmtspsi application console view:
Clicking the ‘LOAD PRESETS’ button will load the values for the extension attribute(s) if the task sequence variable associated with the extension attribute(s) is already set.
Clicking the ‘LOAD SELECTION FROM FILE’ button will load the extension attributes from 18 line text file with a file extension ‘.extatts‘.


The following SCCM task sequence variables are set by the assignment of values to the extension attributes.
These variables can be used to in your task sequence to route your task sequence in multiple direction based on the combination of these variables.
| Task sequence variables | |
| SCCMTSPSIEXTENSIONATTRIBUTE1 | |
| SCCMTSPSIEXTENSIONATTRIBUTE2 | |
| SCCMTSPSIEXTENSIONATTRIBUTE3 | |
| SCCMTSPSIEXTENSIONATTRIBUTE4 | |
| SCCMTSPSIEXTENSIONATTRIBUTE5 | |
| SCCMTSPSIEXTENSIONATTRIBUTE6 | |
| SCCMTSPSIEXTENSIONATTRIBUTE7 | |
| SCCMTSPSIEXTENSIONATTRIBUTE8 | |
| SCCMTSPSIEXTENSIONATTRIBUTE9 | |
| SCCMTSPSIEXTENSIONATTRIBUTE10 | |
| SCCMTSPSIEXTENSIONATTRIBUTE11 | |
| SCCMTSPSIEXTENSIONATTRIBUTE12 | |
| SCCMTSPSIEXTENSIONATTRIBUTE13 | |
| SCCMTSPSIEXTENSIONATTRIBUTE14 | |
| SCCMTSPSIEXTENSIONATTRIBUTE15 | |
| SCCMTSPSIEXTENSIONATTRIBUTE16 | |
| SCCMTSPSIEXTENSIONATTRIBUTE17 | |
| SCCMTSPSIEXTENSIONATTRIBUTE18 |
5.Using sccmtspsi (Operator view)
Note:
- Have your customized your WinPE image. Read more.
- If you are booting from a USB boot media remember to check if the WinPE image referenced in the boot media is the same as that which is referenced in the task sequence.
- If you are PXE booting remember to check if the WinPE image referenced by PXE is the same as that which is referenced in the task sequence.
If you have slow network connectivity and your machines have a delay in receiving an IP address. Sometimes the following message is displayed.

Add the following lines to below file located on your SCCM management point [Create the file if it does not exist). This entry will introduce a 30-second delay before loading the bootstrap. Do the same for the file located under the x86 folder (Change references to x64 to x86)

If the network adapter is still disabled or disconnected from the network, sccmtspsi will show the following message.

5.1.sccmtspsi login window content
sccmtspsi login screen has the following components.
Login pane : Operators who are members of the sccmtspsi-users-XXX [Where XXX is the Realm name] active directory group can login.
Version info button : Version of the sccmtspsi application.
Time and date : Time and date synchronized from the domain. Incorrect time or date will lead to failed license checks and active directory operations.
Power button : This button will open a context menu with the restart and shutdown option.
Network button: The network button will open a network connections properties sidebar. You can do the following in the network connections sidebar.
- Enable / disable network cards
- Change I.P address / Sub net mask.
- Change default gateway
- Change DNS server.
- Change connection type.


5.2.sccmtspsi controls
sccmtspsi controls and their purpose are self explanatory.
The result of the final build deployment (SOE) is set using these controls. Most controls are associated with task sequence variables, which can be used to set the trajectory of the SCCM task sequence.

5.2.1.Asset hostname
This controls sets the hostname for the current deployment.

If hostname mandates like case, prefix and suffix are set in the configuration file, the control will automatically transform the text according the directives that were set in the configuration file.

But if a ‘override‘ [!] is set to ‘true‘ in the configuration file the operator can choose to use a ! before the host name to override the case, prefix and suffix mandates.

To allow overrides set the below option to ‘truebutallow!‘ or ‘false‘ [will not apply mandates] in the configuration file.
note : we do not recommend using overrides. Such an action will also override DNS and SCCM conflict checks too. The recommended option is ‘true‘

5.2.2.Unlock bitlocker
This control is used to unlock bitlocked drives [System, data and USB drives].
Clicking on the ‘Unlock bitlocker’ button will open a new panel.

Click the drive you want to UNLOCK first (Marked as 1)
If you have a recovery key file; import the file by clicking on the “Import from recover key” button. (Marked as 3).
Click “FROM CURRENT DOMAIN” to automatically get the recovery information from the current domain. (Marked as 4).
Click “FROM DIFFERENT DOMAIN” to automatically get the recovery information from a remote domain. (Marked as 5). Please provide credentials for remote domain. (Marked as 2).
Click “FROM MBAM DATABASE” to automatically get the recovery information from MBAM (Microsoft bitlocker administration and monitoring) server. (Marked as 6).
Click “FROM RECOVERY PASSWORD” (Marked as 6) after manually typing the recovery password in the area marked as 8.

USMT data capture options are only displayed in sccmtspsi if an active windows partition is identified.
When using the active directory options. If the machine was bitlocked using a different hostname, change the asset hostname text before using the active directory unlock controls.
5.2.3.Get task sequence deployments
Click on the “Get task sequence deployments” button to list all the task sequences deployed to the Realm deployment collection “sccmtspsi-deployments-XXX“ [Where XXX is the Realm name].

Clicking on the above button will open the below panel.

Note:
- Task sequences will only be visible in sccmtspsi if they are deployed to the Realm deployment collection.
- Task sequence will only be visible in sccmtspsi if a boot image is assigned to it.
In the above illustration “Task sequence 1” has been deployed to the SCCM collection “sccmtspsi-deployments-r01” [r01 is the Realm name].

Task sequence has a boot image assigned to it.

This process will set the following task sequence variables:
- SMSTSPSISELECTEDTASKSEQUENCENAME : Name of the Task sequence.
- SCCMTSPSISELECTEDTASKSEQUENCEPACKAGEID : PackageID of the of the Task sequence.
- SMSTSPreferredAdvertID : The deploymentID for the task sequence.
5.2.4.Get operating system images and packages
Click on the “Get operating system images and packages” button to retrieve a list of Operating system images and packages that have been added to the Task Sequence selected in the previous control.

Note : This control cannot be invoked without selecting a Task Sequence using the previous control.
Clicking on the “Get operating system images and packages” button will open the below panel.


This process will set the following task sequence variables:
- SCCMTSPSISELECTEDOPERATINGSYSTEMNAME : Name of the operating system package or image.
- SCCMTSPSISELECTEDOPERATINGSYSTEMPACKAGEID : PackageID of the operating system package or image.
5.2.5.Get office application
Office applications are standard SCCM applications that are categorized with the label “sccmtspsi-officesuites-XXX” [Where XXX is the Realm name].
Click on the “Get office applications” button to view a list of office applications configured for the Realm. Select an Operating system image or package before selecting an office application.

Clicking the “Get office applications” button will open the following panel.

Office application setup in SCCM should look similar to the below image.

This process will set the following task sequence variables:
- SCCMTSPSISELECTEDOFFICESUITENAME : Name of the SCCM application.
- SCCMTSPSISELECTEDOFFICESUITEPACKAGEID : PackageID of the SCCM application.
5.2.6.Get SCCM applications
These are SCCM applications that are categorized with the label “sccmtspsi-applications-XXX” [Where XXX is the Realm name].
Click on the “Get SCCM applications” button to view a list of applications configured for the Realm. Select an Operating system image or package before selecting an application.

Clicking the “Get SCCM applications” button will open the following panel.

Application setup in SCCM should look similar to the below image.

This panel allows multiple selections to be made. Selections can be made in the following ways.
- Manual selection.
- Click the “Load selection from SCCM” button to select the current deployment list.
- Click the “Load selection from file” button to load a profile file.
An application profile file:
A profile file is a text file with ends with a “.sccmapps” extension. The following images will help understand the concept.


Place the profile files in the profiles directory set in the configuration file.

This process will set the below task sequence variables.
SCCMTSPSISET1APP01 to SCCMTSPSISET1APP99
SCCMTSPSISET2APP01 to SCCMTSPSISET2APP99
SCCMTSPSISET3APP01 to SCCMTSPSISET3APP99
……….. etc …………..
For the above listed example screenshots, the task sequence variables will look similar to the below entries.
SCCMTSPSISET1APP01 = Application Example 2
SCCMTSPSISET1APP02 = Application Example 1
The base variable SCCMTSPSISET1APP and/or SCCMTSPSISET2APP and/or SCCMTSPSISET3APP can then be referenced in the task sequence as depicted in the below image.

In addition to the above SCCM variables the following variables are also set; which can then be used during Full media (Stand alone media) builds.
SCCMTSPSI-APP-PACKAGEID-S0100038-ISSET -> This variable defines that a Application with the PackageID S0100038 was selected by the operator.
5.2.7.Get SCCM collections
These are SCCM collections that have the collection “sccmtspsi-collections-XXX” [Where XXX is the Realm name] as the limiting collection.
Click on the “Get SCCM collections” button to view a list of collections configured for the Realm. Select an Operating system image or package before selecting collections.

Clicking the “Get SCCM collections” button will open the following panel.

Collection setup in SCCM should look similar to the below image.

This panel allows multiple selections to be made. Selections can be made in the following ways.
- Manual selection.
- Click the “Load selection from SCCM” button to select the current membership list.
- Click the “Load selection from file” button to load a profile file.
An collections profile file:
A profile file is a text file with ends with a “.sccmcols” extension. The following images will help understand the concept.

Place the profile files in the profiles directory set in the configuration file.

This process will set the below task sequence variables.
SCCMTSPSICOLNAME1 to SCCMTSPSICOLNAME999 etc..
and
SCCMTSPSICOLID1 to SCCMTSPSICOLID999 etc..
Note: Collection membership adds and deletes are not permitted during Full media / Stand alone media builds.
5.2.8.Get AD Groups
List all the members (Members that are Groups) of the parent active directory group.
The name of the parent active directory group should be similar to the below entry.
sccmtspsi-groups-XXX [Where XXX is the Realm name]

Note: If AD groups are selected the “Delete from AD” action will not appear.
Clicking the “Get AD Groups” button will open the following panel.

5.2.9.sccmtspsi actions
Actions are commands executed by sccmtspsi.
The following action combinations are possible.
- Hardlink : capture –> Install Windows –> Hardlink : restore
- USB : capture –> Install Windows –> USB : restore
- USB : capture –> Install Windows
- Install Windows –> USB : restore
- USB : capture
- Network : capture –> Install Windows –> Network : restore
- Network : capture –> Install Windows
- Install Windows –> Network : restore
- Network : capture
- Install Windows
- Decommission
- Turn off Bitlocker
If the local disk volumes does not match the volume (OS and data) set in the configuration file, the following options will not appear if the deployment was started from within Software Center. This is because disk formatting is not performed when the task sequence deployment is initiated from within Software Center.
- Hardlink : capture –> Install Windows –> Hardlink : restore
- USB : capture –> Install Windows –> USB : restore
- USB : capture –> Install Windows
- Network : capture –> Install Windows –> Network : restore
- Network : capture –> Install Windows
- Install Windows
If the local disk volumes do not match the volume (OS and data) set in the configuration file the following options will not appear if the deployment was stated from PXE, USB boot or Full stand alone media.This is because disk formatting is not performed when USMT hardlink option is used to Capture and restore user data.
- Hardlink : capture –> Install Windows –> Hardlink : restore
If the designated USMT USB device (As in the configuration file) is not plugged in then none of the below actions will be visible.
- USB : capture –> Install Windows –> USB : restore
- USB : capture –> Install Windows
- Install Windows –> USB : restore
- USB : capture
If a USMT network location store is not configured in the sccmtspsi configuration file, the below actions will not be visible.
- Network : capture –> Install Windows –> Network : restore
- Network : capture –> Install Windows
- Install Windows –> Network : restore
- Network : capture
If the Network Access Account is not set in the configuration file the below actions will not be visible.
- Network : capture –> Install Windows –> Network : restore
- Install Windows –> Network : restore
If the Operating system is not selected then the below actions will not be visible.
- Hardlink : capture –> Install Windows –> Hardlink : restore
- Install Windows –> Hardlink : restore
- Install Windows
- USB : capture –> Install Windows –> USB : restore
- USB : capture –> Install Windows
- nstall Windows –> USB : restore
- Network : capture –> Install Windows –> Network : restore
- Network : capture –> Install Windows
- Install Windows –> Network : restore

If NO operating system is identified (locked or formatted disk). The below listed actions will not be visible.
- Hardlink : capture –> Install Windows –> Hardlink : restore
- Install Windows –> Hardlink : restore
- USB : capture –> Install Windows –> USB : restore
- USB : capture –> Install Windows
- USB : capture
- Network : capture –> Install Windows –> Network : restore
- Network : capture –> Install Windows
- Network : capture

Unlocking the operating system drive will display more actions.



“Decommission” and “Turn off Bitlocker” actions are only visible when NO operating system is selected.
“Turn off Bitlocker” will only appear if the operating system drive is identified and unlocked but the protection is ON.
The task sequence variable SMSTSPSIACTIONS is set by this control. SMSTSPSIACTIONS could be equal to any of the below values.
SMSTSPSIACTIONS = Hardlink : capture –> Install Windows –> Hardlink : restore
SMSTSPSIACTIONS = USB : capture –> Install Windows –> USB : restore
SMSTSPSIACTIONS = USB : capture –> Install Windows
SMSTSPSIACTIONS = Install Windows –> USB : restore
SMSTSPSIACTIONS = USB : capture
SMSTSPSIACTIONS = Network : capture –> Install Windows –> Network : restore
SMSTSPSIACTIONS = Network : capture –> Install Windows
SMSTSPSIACTIONS = Install Windows –> Network : restore
SMSTSPSIACTIONS = Network : capture
SMSTSPSIACTIONS = Install Windows
SMSTSPSIACTIONS = Decommission
SMSTSPSIACTIONS = Turn off Bitlocker
5.2.10.Data migration options
Data migration module is used to select the list of user profiles that will get migrated by the USMT process.
Click on the “Select user profiles to migrate” button.

Clicking on the “Select user profiles to migrate” button will open the below panel.

This panel has controls to optimize the captured settings for the following target operating systems.
- Windows 7
- Window 8
- Windows 10
The setting corresponding to the Operating system image or package will automatically be selected. The selection is made based on the presence of the string “Window 7″ , Windows 8” or “Windows 10” in the Operating system image or package name.
Note: If the operating system drive is locked by bitlocker. First, unlock the drive using the “Unlock bitlocker” button.
5.2.11.Primary users
Use this control to add one more primary users for the machine getting built or rebuilt.
Click on the “Get user list from SCCM” button. This button will only work if an “Operating system image or package” was selected.

Clicking on the “Get user list from SCCM” button will open the below panel.

The “user device affinity” setting should be set to one of the following (preferably the first option).
- Allow user device affinity with auto-approval.
- Allow user device affinity pending administrator approval.
PXE distribution point setting :

Full and Boot media image :

The process sets the task sequence variable SMSTSUdaUsers. The primary users of the device are automatically set at the end of the task sequence.
5.2.12.AD / SCCM entry
This module provides 4 options to delete AD and SCCM machine object.
- Delete computer from AD and SCCM.
- Keep computer in AD and SCCM.
- Delete computer from AD and Keep in SCCM.
- Keep computer in AD and Delete from SCCM.
Depending on the “Actions” selected all or only some of the options will be visible.
When the task sequence deployment was initiated from within Software Center and “Install Windows” option with/without data capture is selected the “Delete from AD” options will not be displayed.
“Keep in SCCM” options will not appear during “Standalone (Full) media” builds.
If Active Directory groups were selected, “Delete from AD” options will not be displayed.
This process set the task sequence variable SCCMTSPSIACTIONS.
Possible values:
SCCMTSPSIACTIONS = Keep in AD & SCCM
SCCMTSPSIACTIONS = Remove from AD & SCCM
SCCMTSPSIACTIONS = Keep in AD & remove from SCCM
SCCMTSPSIACTIONS = Remove from AD and keep in SCCM
5.2.13.Extension Attributes
sccmtspsi allows the creation and use of 18 extension attributes. Extension attributes are custom task sequence variables that can be used to chart the path of the task sequence.The input values for the extension attributes are set in the Realms configuration file. The sccmtspsi operator can then select the necessary values for each of the above attributes in the sccmtspsi application console in WinPE.
Click “Set extension attributes” button to set the attributes.

Clicking the ‘LOAD PRESETS’ button will load the values for the extension attribute(s) if the task sequence variable associated with the extension attribute(s) is already set.
Clicking the ‘LOAD SELECTION FROM FILE’ button will load the extension attributes from 18 line text file with a file extension ‘.extatts‘.


The following SCCM task sequence variables are set by the assignment of values to the extension attributes.
These variables can be used to in your task sequence to route your task sequence in multiple direction based on the combination of these variables.
| Task sequence variables | |
| SCCMTSPSIEXTENSIONATTRIBUTE1 | |
| SCCMTSPSIEXTENSIONATTRIBUTE2 | |
| SCCMTSPSIEXTENSIONATTRIBUTE3 | |
| SCCMTSPSIEXTENSIONATTRIBUTE4 | |
| SCCMTSPSIEXTENSIONATTRIBUTE5 | |
| SCCMTSPSIEXTENSIONATTRIBUTE6 | |
| SCCMTSPSIEXTENSIONATTRIBUTE7 | |
| SCCMTSPSIEXTENSIONATTRIBUTE8 | |
| SCCMTSPSIEXTENSIONATTRIBUTE9 | |
| SCCMTSPSIEXTENSIONATTRIBUTE10 | |
| SCCMTSPSIEXTENSIONATTRIBUTE11 | |
| SCCMTSPSIEXTENSIONATTRIBUTE12 | |
| SCCMTSPSIEXTENSIONATTRIBUTE13 | |
| SCCMTSPSIEXTENSIONATTRIBUTE14 | |
| SCCMTSPSIEXTENSIONATTRIBUTE15 | |
| SCCMTSPSIEXTENSIONATTRIBUTE16 | |
| SCCMTSPSIEXTENSIONATTRIBUTE17 | |
| SCCMTSPSIEXTENSIONATTRIBUTE18 |
Available values for each Extension Attribute is set in the configuration file.

6.Task sequence steps
Deploy all required task sequences to the below deployment collection.
sccmtspsi-deployments-XXX
[Where XXX is the Realm name]
Please note: If you boot by PXE. Also, deploy at least one of your task sequences with the correct sccmtspsi WinPE assigned boot image to the ‘ALL UNKNOWN COMPUTERS’ collection. This could be an empty task sequence with the correct sccmtspsi WinPE assigned boot image or you could use your functional task sequence.
Desired setting:
- Available.
- Only media and PXE (hidden)

Task sequences will use the task sequence variables set by sccmtspsi to steer itself through a particular path.
sccmtspsi task sequence variable names are described in detail in the below section.
6.1.sccmtspsi-tasksequence.exe
Run the following command line during the following scenarios.
- It should be the first item of the task sequence (Switch ‘-start’).
- Before a restart (Without any switches; just to gather logs).
- After a restart (Without any switches; just to gather logs)..
- When logs have to be copied to the logging location (Without any switches; just to gather logs)..
Note: Create a package with ‘sccmtspsi-tasksequence.exe’ and also copy into USMT package.
- After installing the sccmtspsi components (msi) copy the executable ‘sccmtspsi-tasksequence.exe’ (for your architecture) from the following location and create a package.
- Also copy the executable ‘sccmtspsi-tasksequence.exe’ into the USMT – User state migration tool package root.
After installing the ‘sccmtspsicomponent.msi’, Copy ‘sccmtspsi-tasksequence.exe’ from below location (based on your architecture).

to below location

and to below location (your USMT package directory)

In WinPE – (At the start of the task sequence)
This step initializes the task sequence and should always be the first step of the task sequence.
If the task sequence was initiated from Software center, this step will do the following.
- Turn off bitlocker.
- Restart the computer into WinPE.
- Open the sccmtspsi user interface (Console).
sccmtspsi-tasksequence.exe -start

Anywhere in the task sequence :
just to copy logs to the network location (set in the configuration file)

In Operating System during USMT restore
This step restores the captured USMT data.
sccmtspsi-tasksequence.exe -usmt

In Operating System – Move machine to Active Directory OU
This step moves the system into the specified Active Directory OU (Only use the DistinguishedName of the OU)
sccmtspsi-tasksequence.exe -movetoadou "OU=Staging,OU=Devices,DC=demodomain,DC=local"

In Operating System at the end of the task sequence
This step generates and emails (Operator and/or administrator) the Build documentation (as set in the configuration file). This step also reports the build completion timing for the operator to sccmtspsi (If allowed in the configuration file).
sccmtspsi-tasksequence.exe -end

6.2.Task sequence variables
| Variable | Description |
|---|---|
| SCCMTSPSI-APP-PACKAGEID-S0100038-ISSET | Specifies if SCCM application with PackageID "S0100038" was selected by the opeartor. (True or False) |
| SCCMTSPSIMBAMSERVERADDRESSURL | MBAM server address url. |
| SCCMTSPSIDATADRIVEVOLUMELABEL2 | Volume label of data drive 2. |
| SCCMTSPSIDATADRIVEVOLUMELABEL1 | Volume label of data drive 1. |
| SCCMTSPSIDATADRIVE2 | Drive letter of data drive 2. |
| SCCMTSPSIDATADRIVE1 | Drive letter of data drive 1. |
| SCCMTSPSIUSMTUSBIDENTIFIER | The label that identifies a USB drive as a USMT data store. This is set in the configuration file. Click to read the documentation. |
| SCCMTSPSIUSMTCOMPRESSUSBDATASTORE | Compress setting for USB USMT data store. Click to read the documentation. |
| SCCMTSPSISCCMSITECODE | SCCM site code. |
| SCCMTSPSISCCMSERVER | Fully qualified domain name of the SCCM management point. |
| SMSTSUdaUsers | The primary users of the device are automatically set at the end of the task sequence. Click to read the documentation. |
| SCCMTSPSISELECTEDOFFICESUITEPACKAGEID | PackageID of the SCCM office application selected. Click to read the documentation. |
| SCCMTSPSISELECTEDOFFICESUITENAME | Name of the SCCM office application selected. Click to read the documentation. |
| SCCMTSPSISET1APP | The base variable SCCMTSPSISET1APP and/or SCCMTSPSISET2APP and/or SCCMTSPSISET3APP can then be referenced in the task sequence as explained in the documentation. Click here to read the documentation. |
| SCCMTSPSIUSMTXMLRULEFILES | USMT command line sub part. Migration XML rule files. E.g. /i:"miguser.xml" /i:"migapps.xml". The rule XML's files are set in the configuration file. Click to read the documentation. |
| SCCMTSPSIUSMTINCLUDEDANDEXCLUDEDUSERS | USMT command line sub-part. Included and excluded user SID's |
| SCCMTSPSIUSMTENCRYPTIONALGORITHM | USMT store encryption algorithm. Click here to read the documentation. |
| SCCMTSPSIUSMTEFSHANDLE | USMT command line sub-part for handling encrypted system files. Click to read the documentation. |
| SCCMTSPSIUSMTCOMPRESSNETWORKDATASTORE | Compress USMT network data store. (True /False). Click to read the documentation. |
| SCCMTSPSIUSMTNETWORKDATASTORE | USMT network data store; set in the configuration file. Click here to read the documentation. |
| SCCMTSPSIUSMTUSERCHANGES | USMT command line sub-part if user moves are configured in the configuration file. Click here to read the documentation. |
| SCCMTSPSIUSMTDOMAINCHANGES | USMT command line sub-part if domain changes where configured in the configuration file. Click to read the documentation. |
| OSDStateStorePath | Location to which the USMT data is saved. |
| OSDMigrateLocalAccountPassword | Local accounts are issued this temporary password during the USMT process. This variable is unique to a deployment. |
| OSDMigrateConfigFiles | The Config.xml (or any selected name) file is an optional User State Migration Tool (USMT) file that you can create using the /genconfig option with the ScanState.exe tool. If you want to include all of the default components, and do not want to change the default store-creation or profile-migration behavior, you do not need to create a Config.xml file. |
| OSDMigrateAdditionalRestoreOptions | The additional options that are specified in the form of a string that is appended to the automatically generated USMT command line. sccmtspsi adds the following items to this variable.
|
| SMSTSMP | SCCM management point. |
| SCCMTSPSIWINPEARCHITECTURE | Architecture of the WinPE image. |
| SCCMTSPSISYSTEMMODEL | Hardware model of the device. |
| SCCMTSPSISYSTEMMANUFACTURER | Device hardware manufacturer. |
| SCCMTSPSISMTPSERVERSSLENABLED | SMTP server communication is SSL enabled. |
| SCCMTSPSISMTPSERVERPORT | Port number through which SMTP requests are made to the SMTP server. This information is set in the configuration file. Click to read the documentation. |
| SCCMTSPSISMTPSERVER | Fully qualified domain name of the SMTP server. |
| SCCMTSPSISELECTEDTASKSEQUENCENAME | Name of the selected Task Sequence. |
| SCCMTSPSISELECTEDTASKSEQUENCEPACKAGEID | The TasksequenceID of the selected Task Sequence. |
| SCCMTSPSISELECTEDOPERATINGSYSTEMNAME | The Package Name of the selected operating system. |
| SCCMTSPSISELECTEDOPERATINGSYSTEMPACKAGEID | The PackageID of the selected operating system. |
| SCCMTSPSIREALMNAME | The 3 character Realm name. |
| SCCMTSPSIPROCESSORARCHITECTURE | Processor architecture of the device. Possible values : x86, MIPS, Alpha, PowerPC, ARM, ia64, x64, Unknown. |
| SCCMTSPSIPCSYSTEMTYPE | Listed below are the possible values.
|
| SCCMTSPSIOPERATOREMAIL | Email address of the sccmtspsi operator. |
| SCCMTSPSIOPERATORDISPLAYNAME | Full name of the sccmtspsi operator. |
| SCCMTSPSIOPERATINGSYSTEMVOLUMELABEL | Volume label of the Operating System drive. Click to read the documentation. |
| SCCMTSPSIOPERATINGSYSTEMDRIVE | The drive to which the Operating System will be installed. This drive has the volume name as set in the task sequence variable SCCMTSPSIOPERATINGSYSTEMVOLUMELABEL. |
| SCCMTSPSINETWORKLOGLOCATION | Network location to where the local logs will be copied to. The location is set in the configuration file. Click here to see the documentation. |
| SCCMTSPSINETWORKACCESSACCOUNT | The network access account set in the configuration file. Click here to see documentation. |
| SCCMTSPSILOGINDOMAIN | Login domain. The domain name set in the sccmtspsi command line. |
| SCCMTSPSIDELETEORKEEPADSCCMENTRY |
|
| SCCMTSPSIASSETNAME | Same as OSDComputerName. Hostname / Assetname / NetBIOS name. |
| SCCMTSPSIADMINEMAIL | Administrative email address. Email address set in the configuration file. |
| SCCMTSPSIACTIONS |
|
| OSDComputerName | Same as SCCMTSPSIASSETNAME. Hostname / Assetname / NetBIOS name issued to the device. |
6.3.Apply operating system image step
Add the variable SCCMTSPSIOPERATINGSYSTEMDRIVE to the “Apply operating system image” step.

7.Task sequence error codes
This section lists error codes displayed by sccmtspsi and a lists of error codes displayed by SCCM OSD task sequence (Gathered by etflconsultancy).
| Code | Error Description |
|---|---|
| 0x00000001 | Incorrect function. |
| 0x00000002 | The system cannot find the file specified. |
| 0x00000003 | The system cannot find the path specified. |
| 0x00000004 | The system cannot open the file. |
| 0x00000005 | Access is denied. |
| 0x00000006 | The handle is invalid. |
| 0x00000007 | The storage control blocks were destroyed. |
| 0x00000008 | Not enough storage is available to process this command. |
| 0x00000009 | The storage control block address is invalid. |
| 0x0000000A | The environment is incorrect. |
| 0x0000000B | An attempt was made to load a program with an incorrect format. |
| 0x0000000C | The access code is invalid. |
| 0x0000000D | The data is invalid. |
| 0x0000000E | Not enough storage is available to complete this operation. |
| 0x0000000F | The system cannot find the drive specified. |
| 0x00000010 | The directory cannot be removed. |
| 0x00000011 | The system cannot move the file to a different disk drive. |
| 0x00000012 | There are no more files. |
| 0x00000013 | The media is write protected. |
| 0x00000014 | The system cannot find the device specified. |
| 0x00000015 | The device is not ready. |
| 0x00000016 | The device does not recognize the command. |
| 0x00000017 | Data error (cyclic redundancy check) |
| 0x00000018 | The program issued a command but the command length is incorrect. |
| 0x00000019 | The drive cannot locate a specific area or track on the disk. |
| 0x0000001A | The specified disk or diskette cannot be accessed. |
| 0x0000001B | The drive cannot find the sector requested. |
| 0x0000001C | The printer is out of paper. |
| 0x0000001D | The system cannot write to the specified device. |
| 0x0000001E | The system cannot read from the specified device. |
| 0x0000001F | A device attached to the system is not functioning. |
| 0x00000020 | The process cannot access the file because it is being used by another process. |
| 0x00000021 | The process cannot access the file because another process has locked a portion of the file. |
| 0x00000022 | The wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1. |
| 0x00000024 | Too many files opened for sharing. |
| 0x00000026 | Reached end of file. |
| 0x00000027 | The disk is full. |
| 0x00000032 | The network request is not supported. |
| 0x00000033 | The remote computer is not available. |
| 0x00000034 | A duplicate name exists on the network. |
| 0x00000035 | The network path was not found. |
| 0x00000036 | The network is busy. |
| 0x00000037 | The specified network resource or device is no longer available. |
| 0x00000038 | The network BIOS command limit has been reached. |
| 0x00000039 | A network adapter hardware error occurred. |
| 0x0000003A | The specified server cannot perform the requested operation. |
| 0x0000003B | An unexpected network error occurred. |
| 0x0000003C | The remote adapter is not compatible. |
| 0x0000003D | The printer queue is full. |
| 0x0000003E | Space to store the file waiting to be printed is not available on the server. |
| 0x0000003F | Your file waiting to be printed was deleted. |
| 0x00000040 | The specified network name is no longer available. |
| 0x00000041 | Network access is denied. |
| 0x00000042 | The network resource type is not correct. |
| 0x00000043 | The network name cannot be found. |
| 0x00000044 | The name limit for the local computer network adapter card was exceeded. |
| 0x00000045 | The network BIOS session limit was exceeded. |
| 0x00000046 | The remote server has been paused or is in the process of being started. |
| 0x00000047 | No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept. |
| 0x00000048 | The specified printer or disk device has been paused. |
| 0x00000050 | The file exists. |
| 0x00000052 | The directory or file cannot be created. |
| 0x00000053 | Fail on INT 24 |
| 0x00000054 | Storage to process this request is not available. |
| 0x00000055 | The local device name is already in use. |
| 0x00000056 | The specified network password is not correct. |
| 0x00000057 | The parameter is incorrect. |
| 0x00000058 | A write fault occurred on the network. |
| 0x00000059 | The system cannot start another process at this time. |
| 0x00000064 | Cannot create another system semaphore. |
| 0x00000065 | The exclusive semaphore is owned by another process. |
| 0x00000066 | The semaphore is set and cannot be closed. |
| 0x00000067 | The semaphore cannot be set again. |
| 0x00000068 | Cannot request exclusive semaphores at interrupt time. |
| 0x00000069 | The previous ownership of this semaphore has ended. |
| 0x0000006A | Insert the diskette for drive %1. |
| 0x0000006B | Program stopped because alternate diskette was not inserted. |
| 0x0000006C | The disk is in use or locked by another process. |
| 0x0000006D | The pipe has been ended. |
| 0x0000006E | The system cannot open the device or file specified. |
| 0x0000006F | The file name is too long. |
| 0x00000070 | There is not enough space on the disk. |
| 0x00000071 | No more internal file identifiers available. |
| 0x00000072 | The target internal file identifier is incorrect. |
| 0x00000075 | The IOCTL call made by the application program is not correct. |
| 0x00000076 | The verify-on-write switch parameter value is not correct. |
| 0x00000077 | The system does not support the command requested. |
| 0x00000078 | This function is only valid in Windows NT mode. |
| 0x00000079 | The semaphore timeout period has expired. |
| 0x0000007A | The data area passed to a system call is too small. |
| 0x0000007B | The filename |
| 0x0000007C | The system call level is not correct. |
| 0x0000007D | The disk has no volume label. |
| 0x0000007E | The specified module could not be found. |
| 0x0000007F | The specified procedure could not be found. |
| 0x00000080 | There are no child processes to wait for. |
| 0x00000081 | The %1 application cannot be run in Windows NT mode. |
| 0x00000082 | Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O. |
| 0x00000083 | An attempt was made to move the file pointer before the beginning of the file. |
| 0x00000084 | The file pointer cannot be set on the specified device or file. |
| 0x00000085 | A JOIN or SUBST command cannot be used for a drive that contains previously joined drives. |
| 0x00000086 | An attempt was made to use a JOIN or SUBST command on a drive that has already been joined. |
| 0x00000087 | An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted. |
| 0x00000088 | The system tried to delete the JOIN of a drive that is not joined. |
| 0x00000089 | The system tried to delete the substitution of a drive that is not substituted. |
| 0x0000008A | The system tried to join a drive to a directory on a joined drive. |
| 0x0000008B | The system tried to substitute a drive to a directory on a substituted drive. |
| 0x0000008C | The system tried to join a drive to a directory on a substituted drive. |
| 0x0000008D | The system tried to SUBST a drive to a directory on a joined drive. |
| 0x0000008E | The system cannot perform a JOIN or SUBST at this time. |
| 0x0000008F | The system cannot join or substitute a drive to or for a directory on the same drive. |
| 0x00000090 | The directory is not a subdirectory of the root directory. |
| 0x00000091 | The directory is not empty. |
| 0x00000092 | The path specified is being used in a substitute. |
| 0x00000093 | Not enough resources are available to process this command. |
| 0x00000094 | The path specified cannot be used at this time. |
| 0x00000095 | An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute. |
| 0x00000096 | System trace information was not specified in your CONFIG.SYS file |
| 0x00000097 | The number of specified semaphore events for DosMuxSemWait is not correct. |
| 0x00000098 | DosMuxSemWait did not execute; too many semaphores are already set. |
| 0x00000099 | The DosMuxSemWait list is not correct. |
| 0x0000009A | The volume label you entered exceeds the label character limit of the target file system. |
| 0x0000009B | Cannot create another thread. |
| 0x0000009C | The recipient process has refused the signal. |
| 0x0000009D | The segment is already discarded and cannot be locked. |
| 0x0000009E | The segment is already unlocked. |
| 0x0000009F | The address for the thread ID is not correct. |
| 0x000000A0 | The argument string passed to DosExecPgm is not correct. |
| 0x000000A1 | The specified path is invalid. |
| 0x000000A2 | A signal is already pending. |
| 0x000000A4 | No more threads can be created in the system. |
| 0x000000A7 | Unable to lock a region of a file. |
| 0x000000AA | The requested resource is in use. |
| 0x000000AD | A lock request was not outstanding for the supplied cancel region. |
| 0x000000AE | The file system does not support atomic changes to the lock type. |
| 0x000000B4 | The system detected a segment number that was not correct. |
| 0x000000B6 | The operating system cannot run %1. |
| 0x000000B7 | Cannot create a file when that file already exists. |
| 0x000000BA | The flag passed is not correct. |
| 0x000000BB | The specified system semaphore name was not found. |
| 0x000000BC | The operating system cannot run %1. |
| 0x000000BD | The operating system cannot run %1. |
| 0x000000BE | The operating system cannot run %1. |
| 0x000000BF | Cannot run %1 in Windows NT mode. |
| 0x000000C0 | The operating system cannot run %1. |
| 0x000000C1 | %1 is not a valid Windows NT application. |
| 0x000000C2 | The operating system cannot run %1. |
| 0x000000C3 | The operating system cannot run %1. |
| 0x000000C4 | The operating system cannot run this application program. |
| 0x000000C5 | The operating system is not presently configured to run this application. |
| 0x000000C6 | The operating system cannot run %1. |
| 0x000000C7 | The operating system cannot run this application program. |
| 0x000000C8 | The code segment cannot be greater than or equal to 64KB. |
| 0x000000C9 | The operating system cannot run %1. |
| 0x000000CA | The operating system cannot run %1. |
| 0x000000CB | The system could not find the environment option that was entered. |
| 0x000000CD | No process in the command subtree has a signal handler. |
| 0x000000CE | The filename or extension is too long. |
| 0x000000CF | The ring 2 stack is in use. |
| 0x000000D0 | The global filename characters |
| 0x000000D1 | The signal being posted is not correct. |
| 0x000000D2 | The signal handler cannot be set. |
| 0x000000D4 | The segment is locked and cannot be reallocated. |
| 0x000000D6 | Too many dynamic link modules are attached to this program or dynamic link module. |
| 0x000000D7 | Can’t nest calls to LoadModule. |
| 0x000000D8 | The image file %1 is valid |
| 0x000000E6 | The pipe state is invalid. |
| 0x000000E7 | All pipe instances are busy. |
| 0x000000E8 | The pipe is being closed. |
| 0x000000E9 | No process is on the other end of the pipe. |
| 0x000000EA | More data is available. |
| 0x000000F0 | The session was cancelled. |
| 0x000000FE | The specified extended attribute name was invalid. |
| 0x000000FF | The extended attributes are inconsistent. |
| 0x00000103 | No more data is available. |
| 0x0000010A | The Copy API cannot be used. |
| 0x0000010B | The directory name is invalid. |
| 0x00000113 | The extended attributes did not fit in the buffer. |
| 0x00000114 | The extended attribute file on the mounted file system is corrupt. |
| 0x00000115 | The extended attribute table file is full. |
| 0x00000116 | The specified extended attribute handle is invalid. |
| 0x0000011A | The mounted file system does not support extended attributes. |
| 0x00000120 | Attempt to release mutex not owned by caller. |
| 0x0000012A | Too many posts were made to a semaphore. |
| 0x0000012B | Only part of a Read/WriteProcessMemory request was completed. |
| 0x0000013D | The system cannot find message for message number 0x%1 in message file for %2. |
| 0x000001E7 | Attempt to access invalid address. |
| 0x00000216 | Arithmetic result exceeded 32 bits. |
| 0x00000217 | There is a process on other end of the pipe. |
| 0x00000218 | Waiting for a process to open the other end of the pipe. |
| 0x000003E2 | Access to the extended attribute was denied. |
| 0x000003E3 | The I/O operation has been aborted because of either a thread exit or an application request. |
| 0x000003E4 | Overlapped I/O event is not in a signaled state. |
| 0x000003E5 | Overlapped I/O operation is in progress. |
| 0x000003E6 | Invalid access to memory location. |
| 0x000003E7 | Error performing in-page operation. |
| 0x000003E9 | Recursion too deep |
| 0x000003EA | The window cannot act on the sent message. |
| 0x000003EB | Cannot complete this function. |
| 0x000003EC | Invalid flags. |
| 0x000003ED | The volume does not contain a recognized file system. Please make sure that all required file system drivers are loaded and that the volume is not corrupt. |
| 0x000003EE | The volume for a file has been externally altered such that the opened file is no longer valid. |
| 0x000003EF | The requested operation cannot be performed in full-screen mode. |
| 0x000003F0 | An attempt was made to reference a token that does not exist. |
| 0x000003F1 | The configuration registry database is corrupt. |
| 0x000003F2 | The configuration registry key is invalid. |
| 0x000003F3 | The configuration registry key could not be opened. |
| 0x000003F4 | The configuration registry key could not be read. |
| 0x000003F5 | The configuration registry key could not be written. |
| 0x000003F6 | One of the files in the Registry database had to be recovered by use of a log or alternate copy. |
| 0x000003F7 | The Registry is corrupt. The structure of one of the files that contains Registry data is corrupt |
| 0x000003F8 | An I/O operation initiated by the Registry failed unrecoverably. The Registry could not read in |
| 0x000003F9 | The system has attempted to load or restore a file into the Registry |
| 0x000003FA | Illegal operation attempted on a Registry key which has been marked for deletion. |
| 0x000003FB | System could not allocate the required space in a Registry log. |
| 0x000003FC | Cannot create a symbolic link in a Registry key that already has subkeys or values. |
| 0x000003FD | Cannot create a stable subkey under a volatile parent key. |
| 0x000003FE | A notify change request is being completed and the information is not being returned in the caller’s buffer. The caller now needs to enumerate the files to find the changes. |
| 0x0000041B | A stop control has been sent to a service which other running services are dependent on. |
| 0x0000041C | The requested control is not valid for this service |
| 0x0000041D | The service did not respond to the start or control request in a timely fashion. |
| 0x0000041E | A thread could not be created for the service. |
| 0x0000041F | The service database is locked. |
| 0x00000420 | An instance of the service is already running. |
| 0x00000421 | The account name is invalid or does not exist. |
| 0x00000422 | The specified service is disabled and cannot be started. |
| 0x00000423 | Circular service dependency was specified. |
| 0x00000424 | The specified service does not exist as an installed service. |
| 0x00000425 | The service cannot accept control messages at this time. |
| 0x00000426 | The service has not been started. |
| 0x00000427 | The service process could not connect to the service controller. |
| 0x00000428 | An exception occurred in the service when handling the control request. |
| 0x00000429 | The database specified does not exist. |
| 0x0000042A | The service has returned a service-specific error code. |
| 0x0000042B | The process terminated unexpectedly. |
| 0x0000042C | The dependency service or group failed to start. |
| 0x0000042D | The service did not start due to a logon failure. |
| 0x0000042E | After starting |
| 0x0000042F | The specified service database lock is invalid. |
| 0x00000430 | The specified service has been marked for deletion. |
| 0x00000431 | The specified service already exists. |
| 0x00000432 | The system is currently running with the last-known-good configuration. |
| 0x00000433 | The dependency service does not exist or has been marked for deletion. |
| 0x00000434 | The current boot has already been accepted for use as the last-known-good control set. |
| 0x00000435 | No attempts to start the service have been made since the last boot. |
| 0x00000436 | The name is already in use as either a service name or a service display name. |
| 0x00000437 | The account specified for this service is different from the account specified for other services running in the same process. |
| 0x0000044C | The physical end of the tape has been reached. |
| 0x0000044D | A tape access reached a filemark. |
| 0x0000044E | Beginning of tape or partition was encountered. |
| 0x0000044F | A tape access reached the end of a set of files. |
| 0x00000450 | No more data is on the tape. |
| 0x00000451 | Tape could not be partitioned. |
| 0x00000452 | When accessing a new tape of a multivolume partition |
| 0x00000453 | Tape partition information could not be found when loading a tape. |
| 0x00000454 | Unable to lock the media eject mechanism. |
| 0x00000455 | Unable to unload the media. |
| 0x00000456 | Media in drive may have changed. |
| 0x00000457 | The I/O bus was reset. |
| 0x00000458 | No media in drive. |
| 0x00000459 | No mapping for the Unicode character exists in the target multi-byte code page. |
| 0x0000045A | A dynamic link library (DLL) initialization routine failed. |
| 0x0000045B | A system shutdown is in progress. |
| 0x0000045C | Unable to abort the system shutdown because no shutdown was in progress. |
| 0x0000045D | The request could not be performed because of an I/O device error. |
| 0x0000045E | No serial device was successfully initialized. |
| 0x0000045F | Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened. |
| 0x00000460 | A serial I/O operation was completed by another write to the serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.) |
| 0x00000461 | A serial I/O operation completed because the time-out period expired. (The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) |
| 0x00000462 | No ID address mark was found on the floppy disk. |
| 0x00000463 | Mismatch between the floppy disk sector ID field and the floppy disk controller track address. |
| 0x00000464 | The floppy disk controller reported an error that is not recognized by the floppy disk driver. |
| 0x00000465 | The floppy disk controller returned inconsistent results in its registers. |
| 0x00000466 | While accessing the hard disk |
| 0x00000467 | While accessing the hard disk |
| 0x00000468 | While accessing the hard disk |
| 0x00000469 | Physical end of tape encountered. |
| 0x0000046A | Not enough server storage is available to process this command. |
| 0x0000046B | A potential deadlock condition has been detected. |
| 0x0000046C | The base address or the file offset specified does not have the proper alignment. |
| 0x00000474 | An attempt to change the system power state was vetoed by another application or driver. |
| 0x00000475 | The system BIOS failed an attempt to change the system power state. |
| 0x00000476 | An attempt was made to create more links on a file than the file system supports. |
| 0x0000047E | The specified program requires a newer version of Windows. |
| 0x0000047F | The specified program is not a Windows or MS-DOS program. |
| 0x00000480 | Cannot start more than one instance of the specified program. |
| 0x00000481 | The specified program was written for an older version of Windows. |
| 0x00000482 | One of the library files needed to run this application is damaged. |
| 0x00000483 | No application is associated with the specified file for this operation. |
| 0x00000484 | An error occurred in sending the command to the application. |
| 0x00000485 | One of the library files needed to run this application cannot be found. |
| 0x000004B0 | The specified device name is invalid. |
| 0x000004B1 | The device is not currently connected but it is a remembered connection. |
| 0x000004B2 | An attempt was made to remember a device that had previously been remembered. |
| 0x000004B3 | No network provider accepted the given network path. |
| 0x000004B4 | The specified network provider name is invalid. |
| 0x000004B5 | Unable to open the network connection profile. |
| 0x000004B6 | The network connection profile is corrupt. |
| 0x000004B7 | Cannot enumerate a non-container. |
| 0x000004B8 | An extended error has occurred. |
| 0x000004B9 | The format of the specified group name is invalid. |
| 0x000004BA | The format of the specified computer name is invalid. |
| 0x000004BB | The format of the specified event name is invalid. |
| 0x000004BC | The format of the specified domain name is invalid. |
| 0x000004BD | The format of the specified service name is invalid. |
| 0x000004BE | The format of the specified network name is invalid. |
| 0x000004BF | The format of the specified share name is invalid. |
| 0x000004C0 | The format of the specified password is invalid. |
| 0x000004C1 | The format of the specified message name is invalid. |
| 0x000004C2 | The format of the specified message destination is invalid. |
| 0x000004C3 | The credentials supplied conflict with an existing set of credentials. |
| 0x000004C4 | An attempt was made to establish a session to a network server |
| 0x000004C5 | The workgroup or domain name is already in use by another computer on the network. |
| 0x000004C6 | The network is not present or not started. |
| 0x000004C7 | The operation was cancelled by the user. |
| 0x000004C8 | The requested operation cannot be performed on a file with a user mapped section open. |
| 0x000004C9 | The remote system refused the network connection. |
| 0x000004CA | The network connection was gracefully closed. |
| 0x000004CB | The network transport endpoint already has an address associated with it. |
| 0x000004CC | An address has not yet been associated with the network endpoint. |
| 0x000004CD | An operation was attempted on a non-existent network connection. |
| 0x000004CE | An invalid operation was attempted on an active network connection. |
| 0x000004CF | The remote network is not reachable by the transport. |
| 0x000004D0 | The remote system is not reachable by the transport. |
| 0x000004D1 | The remote system does not support the transport protocol. |
| 0x000004D2 | No service is operating at the destination network endpoint on the remote system. |
| 0x000004D3 | The request was aborted. |
| 0x000004D4 | The network connection was aborted by the local system. |
| 0x000004D5 | The operation could not be completed. |
| 0x000004D6 | A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached. |
| 0x000004D7 | Attempting to login during an unauthorized time of day for this account. |
| 0x000004D8 | The account is not authorized to login from this station. |
| 0x000004D9 | The network address could not be used for the operation requested. |
| 0x000004DA | The service is already registered. |
| 0x000004DB | The specified service does not exist. |
| 0x000004DC | The operation being requested was not performed because the user has not been authenticated. |
| 0x000004DD | The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist. |
| 0x000004DE | Return that wants caller to continue with work in progress. |
| 0x000004DF | An attempt was made to perform an initialization operation when initialization has already been completed. |
| 0x000004E0 | No more local devices. |
| 0x00000514 | Not all privileges referenced are assigned to the caller. |
| 0x00000515 | Some mapping between account names and security IDs was not done. |
| 0x00000516 | No system quota limits are specifically set for this account. |
| 0x00000517 | No encryption key is available. |
| 0x00000518 | The NT password is too complex to be converted to a LAN Manager password. |
| 0x00000519 | The revision level is unknown. |
| 0x0000051A | Indicates two revision levels are incompatible. |
| 0x0000051B | This security ID may not be assigned as the owner of this object. |
| 0x0000051C | This security ID may not be assigned as the primary group of an object. |
| 0x0000051D | An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client. |
| 0x0000051E | The group may not be disabled. |
| 0x0000051F | There are currently no logon servers available to service the logon request. |
| 0x00000520 | A specified logon session does not exist. |
| 0x00000521 | A specified privilege does not exist. |
| 0x00000522 | A required privilege is not held by the client. |
| 0x00000523 | The name provided is not a properly formed account name. |
| 0x00000524 | The specified user already exists. |
| 0x00000525 | The specified user does not exist. |
| 0x00000526 | The specified group already exists. |
| 0x00000527 | The specified group does not exist. |
| 0x00000528 | Either the specified user account is already a member of the specified group |
| 0x00000529 | The specified user account is not a member of the specified group account. |
| 0x0000052A | The last remaining administration account cannot be disabled or deleted. |
| 0x0000052B | Unable to update the password. |
| 0x0000052C | Unable to update the password. |
| 0x0000052D | Unable to update the password because a password update rule has been violated. |
| 0x0000052E | Logon failure: unknown user name or bad password. |
| 0x0000052F | Logon failure: user account restriction. |
| 0x00000530 | Logon failure: account logon time restriction violation. |
| 0x00000531 | Logon failure: user not allowed to log on to this computer. |
| 0x00000532 | Logon failure: the specified account password has expired. |
| 0x00000533 | Logon failure: account currently disabled. |
| 0x00000534 | No mapping between account names and security IDs was done. |
| 0x00000535 | Too many local user identifiers (LUIDs) were requested at one time. |
| 0x00000536 | No more local user identifiers (LUIDs) are available. |
| 0x00000537 | The sub-authority part of a security ID is invalid for this particular use. |
| 0x00000538 | The access control list (ACL) structure is invalid. |
| 0x00000539 | The security ID structure is invalid. |
| 0x0000053A | The security descriptor structure is invalid. |
| 0x0000053C | The inherited access control list (ACL) or access control entry (ACE) could not be built. |
| 0x0000053D | The server is currently disabled. |
| 0x0000053E | The server is currently enabled. |
| 0x0000053F | The value provided was an invalid value for an identifier authority. |
| 0x00000540 | No more memory is available for security information updates. |
| 0x00000541 | The specified attributes are invalid |
| 0x00000542 | Either a required impersonation level was not provided |
| 0x00000543 | Cannot open an anonymous level security token. |
| 0x00000544 | The validation information class requested was invalid. |
| 0x00000545 | The type of the token is inappropriate for its attempted use. |
| 0x00000546 | Unable to perform a security operation on an object which has no associated security. |
| 0x00000547 | Indicates a Windows NT Server could not be contacted or that objects within the domain are protected such that necessary information could not be retrieved. |
| 0x00000548 | The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation. |
| 0x00000549 | The domain was in the wrong state to perform the security operation. |
| 0x0000054A | This operation is only allowed for the Primary Domain Controller of the domain. |
| 0x0000054B | The specified domain did not exist. |
| 0x0000054C | The specified domain already exists. |
| 0x0000054D | An attempt was made to exceed the limit on the number of domains per server. |
| 0x0000054E | Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk. |
| 0x0000054F | The security account database contains an internal inconsistency. |
| 0x00000550 | Generic access types were contained in an access mask which should already be mapped to non-generic types. |
| 0x00000551 | A security descriptor is not in the right format (absolute or self-relative). |
| 0x00000552 | The requested action is restricted for use by logon processes only. |
| 0x00000553 | Can not start a new logon session with an ID that is already in use. |
| 0x00000554 | A specified authentication package is unknown. |
| 0x00000555 | The logon session is not in a state that is consistent with the requested operation. |
| 0x00000556 | The logon session ID is already in use. |
| 0x00000557 | A logon request contained an invalid logon type value. |
| 0x00000558 | Unable to impersonate via a named pipe until data has been read from that pipe. |
| 0x00000559 | The transaction state of a Registry subtree is incompatible with the requested operation. |
| 0x0000055A | An internal security database corruption has been encountered. |
| 0x0000055B | Cannot perform this operation on built-in accounts. |
| 0x0000055C | Cannot perform this operation on this built-in special group. |
| 0x0000055D | Cannot perform this operation on this built-in special user. |
| 0x0000055E | The user cannot be removed from a group because the group is currently the user’s primary group. |
| 0x0000055F | The token is already in use as a primary token. |
| 0x00000560 | The specified local group does not exist. |
| 0x00000561 | The specified account name is not a member of the local group. |
| 0x00000562 | The specified account name is already a member of the local group. |
| 0x00000563 | The specified local group already exists. |
| 0x00000564 | Logon failure: the user has not been granted the requested logon type at this computer. |
| 0x00000565 | The maximum number of secrets that may be stored in a single system has been exceeded. |
| 0x00000566 | The length of a secret exceeds the maximum length allowed. |
| 0x00000567 | The local security authority database contains an internal inconsistency. |
| 0x00000568 | During a logon attempt |
| 0x00000569 | Logon failure: the user has not been granted the requested logon type at this computer. |
| 0x0000056A | A cross-encrypted password is necessary to change a user password. |
| 0x0000056B | A new member could not be added to a local group because the member does not exist. |
| 0x0000056C | A new member could not be added to a local group because the member has the wrong account type. |
| 0x0000056D | Too many security IDs have been specified. |
| 0x0000056E | A cross-encrypted password is necessary to change this user password. |
| 0x0000056F | Indicates an ACL contains no inheritable components |
| 0x00000570 | The file or directory is corrupt and non-readable. |
| 0x00000571 | The disk structure is corrupt and non-readable. |
| 0x00000572 | There is no user session key for the specified logon session. |
| 0x00000573 | The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept. |
| 0x00000578 | Invalid window handle. |
| 0x00000579 | Invalid menu handle. |
| 0x0000057A | Invalid cursor handle. |
| 0x0000057B | Invalid accelerator table handle. |
| 0x0000057C | Invalid hook handle. |
| 0x0000057D | Invalid handle to a multiple-window position structure. |
| 0x0000057E | Cannot create a top-level child window. |
| 0x0000057F | Cannot find window class. |
| 0x00000580 | Invalid window |
| 0x00000581 | Hot key is already registered. |
| 0x00000582 | Class already exists. |
| 0x00000583 | Class does not exist. |
| 0x00000584 | Class still has open windows. |
| 0x00000585 | Invalid index. |
| 0x00000586 | Invalid icon handle. |
| 0x00000587 | Using private DIALOG window words. |
| 0x00000588 | The listbox identifier was not found. |
| 0x00000589 | No wildcards were found. |
| 0x0000058A | Thread does not have a clipboard open. |
| 0x0000058B | Hot key is not registered. |
| 0x0000058C | The window is not a valid dialog window. |
| 0x0000058D | Control ID not found. |
| 0x0000058E | Invalid message for a combo box because it does not have an edit control. |
| 0x0000058F | The window is not a combo box. |
| 0x00000590 | Height must be less than 256. |
| 0x00000591 | Invalid device context (DC) handle. |
| 0x00000592 | Invalid hook procedure type. |
| 0x00000593 | Invalid hook procedure. |
| 0x00000594 | Cannot set non-local hook without a module handle. |
| 0x00000595 | This hook procedure can only be set globally. |
| 0x00000596 | The journal hook procedure is already installed. |
| 0x00000597 | The hook procedure is not installed. |
| 0x00000598 | Invalid message for single-selection listbox. |
| 0x00000599 | LB_SETCOUNT sent to non-lazy listbox. |
| 0x0000059A | This list box does not support tab stops. |
| 0x0000059B | Cannot destroy object created by another thread. |
| 0x0000059C | Child windows cannot have menus. |
| 0x0000059D | The window does not have a system menu. |
| 0x0000059E | Invalid message box style. |
| 0x0000059F | Invalid system-wide (SPI_*) parameter. |
| 0x000005A0 | Screen already locked. |
| 0x000005A1 | All handles to windows in a multiple-window position structure must have the same parent. |
| 0x000005A2 | The window is not a child window. |
| 0x000005A3 | Invalid GW_* command. |
| 0x000005A4 | Invalid thread identifier. |
| 0x000005A5 | Cannot process a message from a window that is not a multiple document interface (MDI) window. |
| 0x000005A6 | Popup menu already active. |
| 0x000005A7 | The window does not have scroll bars. |
| 0x000005A8 | Scroll bar range cannot be greater than 0x7FFF. |
| 0x000005A9 | Cannot show or remove the window in the way specified. |
| 0x000005AA | Insufficient system resources exist to complete the requested service. |
| 0x000005AB | Insufficient system resources exist to complete the requested service. |
| 0x000005AC | Insufficient system resources exist to complete the requested service. |
| 0x000005AD | Insufficient quota to complete the requested service. |
| 0x000005AE | Insufficient quota to complete the requested service. |
| 0x000005AF | The paging file is too small for this operation to complete. |
| 0x000005B0 | A menu item was not found. |
| 0x000005B1 | Invalid keyboard layout handle. |
| 0x000005B2 | Hook type not allowed. |
| 0x000005B3 | This operation requires an interactive window station. |
| 0x000005B4 | This operation returned because the timeout period expired. |
| 0x000005B5 | Invalid monitor handle. |
| 0x000005DC | The event log file is corrupt. |
| 0x000005DD | No event log file could be opened |
| 0x000005DE | The event log file is full. |
| 0x000005DF | The event log file has changed between reads. |
| 0x000006A4 | The string binding is invalid. |
| 0x000006A5 | The binding handle is not the correct type. |
| 0x000006A6 | The binding handle is invalid. |
| 0x000006A7 | The RPC protocol sequence is not supported. |
| 0x000006A8 | The RPC protocol sequence is invalid. |
| 0x000006A9 | The string universal unique identifier (UUID) is invalid. |
| 0x000006AA | The endpoint format is invalid. |
| 0x000006AB | The network address is invalid. |
| 0x000006AC | No endpoint was found. |
| 0x000006AD | The timeout value is invalid. |
| 0x000006AE | The object universal unique identifier (UUID) was not found. |
| 0x000006AF | The object universal unique identifier (UUID) has already been registered. |
| 0x000006B0 | The type universal unique identifier (UUID) has already been registered. |
| 0x000006B1 | The RPC server is already listening. |
| 0x000006B2 | No protocol sequences have been registered. |
| 0x000006B3 | The RPC server is not listening. |
| 0x000006B4 | The manager type is unknown. |
| 0x000006B5 | The interface is unknown. |
| 0x000006B6 | There are no bindings. |
| 0x000006B7 | There are no protocol sequences. |
| 0x000006B8 | The endpoint cannot be created. |
| 0x000006B9 | Not enough resources are available to complete this operation. |
| 0x000006BA | The RPC server is unavailable. |
| 0x000006BB | The RPC server is too busy to complete this operation. |
| 0x000006BC | The network options are invalid. |
| 0x000006BD | There is not a remote procedure call active in this thread. |
| 0x000006BE | The remote procedure call failed. |
| 0x000006BF | The remote procedure call failed and did not execute. |
| 0x000006C0 | A remote procedure call (RPC) protocol error occurred. |
| 0x000006C2 | The transfer syntax is not supported by the RPC server. |
| 0x000006C4 | The universal unique identifier (UUID) type is not supported. |
| 0x000006C5 | The tag is invalid. |
| 0x000006C6 | The array bounds are invalid. |
| 0x000006C7 | The binding does not contain an entry name. |
| 0x000006C8 | The name syntax is invalid. |
| 0x000006C9 | The name syntax is not supported. |
| 0x000006CB | No network address is available to use to construct a universal unique identifier (UUID). |
| 0x000006CC | The endpoint is a duplicate. |
| 0x000006CD | The authentication type is unknown. |
| 0x000006CE | The maximum number of calls is too small. |
| 0x000006CF | The string is too long. |
| 0x000006D0 | The RPC protocol sequence was not found. |
| 0x000006D1 | The procedure number is out of range. |
| 0x000006D2 | The binding does not contain any authentication information. |
| 0x000006D3 | The authentication service is unknown. |
| 0x000006D4 | The authentication level is unknown. |
| 0x000006D5 | The security context is invalid. |
| 0x000006D6 | The authorization service is unknown. |
| 0x000006D7 | The entry is invalid. |
| 0x000006D8 | The server endpoint cannot perform the operation. |
| 0x000006D9 | There are no more endpoints available from the endpoint mapper. |
| 0x000006DA | No interfaces have been exported. |
| 0x000006DB | The entry name is incomplete. |
| 0x000006DC | The version option is invalid. |
| 0x000006DD | There are no more members. |
| 0x000006DE | There is nothing to unexport. |
| 0x000006DF | The interface was not found. |
| 0x000006E0 | The entry already exists. |
| 0x000006E1 | The entry is not found. |
| 0x000006E2 | The name service is unavailable. |
| 0x000006E3 | The network address family is invalid. |
| 0x000006E4 | The requested operation is not supported. |
| 0x000006E5 | No security context is available to allow impersonation. |
| 0x000006E6 | An internal error occurred in a remote procedure call (RPC). |
| 0x000006E7 | The RPC server attempted an integer division by zero. |
| 0x000006E8 | An addressing error occurred in the RPC server. |
| 0x000006E9 | A floating-point operation at the RPC server caused a division by zero. |
| 0x000006EA | A floating-point underflow occurred at the RPC server. |
| 0x000006EB | A floating-point overflow occurred at the RPC server. |
| 0x000006EC | The list of RPC servers available for the binding of auto handles has been exhausted. |
| 0x000006ED | Unable to open the character translation table file. |
| 0x000006EE | The file containing the character translation table has fewer than 512 bytes. |
| 0x000006EF | A null context handle was passed from the client to the host during a remote procedure call. |
| 0x000006F1 | The context handle changed during a remote procedure call. |
| 0x000006F2 | The binding handles passed to a remote procedure call do not match. |
| 0x000006F3 | The stub is unable to get the remote procedure call handle. |
| 0x000006F4 | A null reference pointer was passed to the stub. |
| 0x000006F5 | The enumeration value is out of range. |
| 0x000006F6 | The byte count is too small. |
| 0x000006F7 | The stub received bad data. |
| 0x000006F8 | The supplied user buffer is not valid for the requested operation. |
| 0x000006F9 | The disk media is not recognized. |
| 0x000006FA | The workstation does not have a trust secret. |
| 0x000006FB | The SAM database on the Windows NT Server does not have a computer account for this workstation trust relationship. |
| 0x000006FC | The trust relationship between the primary domain and the trusted domain failed. |
| 0x000006FD | The trust relationship between this workstation and the primary domain failed. |
| 0x000006FE | The network logon failed. |
| 0x000006FF | A remote procedure call is already in progress for this thread. |
| 0x00000700 | An attempt was made to logon |
| 0x00000701 | The user’s account has expired. |
| 0x00000702 | The redirector is in use and cannot be unloaded. |
| 0x00000703 | The specified printer driver is already installed. |
| 0x00000704 | The specified port is unknown. |
| 0x00000705 | The printer driver is unknown. |
| 0x00000706 | The print processor is unknown. |
| 0x00000707 | The specified separator file is invalid. |
| 0x00000708 | The specified priority is invalid. |
| 0x00000709 | The printer name is invalid. |
| 0x0000070A | The printer already exists. |
| 0x0000070B | The printer command is invalid. |
| 0x0000070C | The specified datatype is invalid. |
| 0x0000070D | The Environment specified is invalid. |
| 0x0000070E | There are no more bindings. |
| 0x0000070F | The account used is an interdomain trust account. |
| 0x00000710 | The account used is a Computer Account. |
| 0x00000711 | The account used is an server trust account. |
| 0x00000712 | The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain. |
| 0x00000713 | The server is in use and cannot be unloaded. |
| 0x00000714 | The specified image file did not contain a resource section. |
| 0x00000715 | The specified resource type can not be found in the image file. |
| 0x00000716 | The specified resource name can not be found in the image file. |
| 0x00000717 | The specified resource language ID cannot be found in the image file. |
| 0x00000718 | Not enough quota is available to process this command. |
| 0x00000719 | No interfaces have been registered. |
| 0x0000071A | The server was altered while processing this call. |
| 0x0000071B | The binding handle does not contain all required information. |
| 0x0000071C | Communications failure. |
| 0x0000071D | The requested authentication level is not supported. |
| 0x0000071E | No principal name registered. |
| 0x0000071F | The error specified is not a valid Windows NT RPC error code. |
| 0x00000720 | A UUID that is valid only on this computer has been allocated. |
| 0x00000721 | A security package specific error occurred. |
| 0x00000722 | Thread is not cancelled. |
| 0x00000723 | Invalid operation on the encoding/decoding handle. |
| 0x00000724 | Incompatible version of the serializing package. |
| 0x00000725 | Incompatible version of the RPC stub. |
| 0x00000726 | The idl pipe object is invalid or corrupted. |
| 0x00000727 | The operation is invalid for a given idl pipe object. |
| 0x00000728 | The idl pipe version is not supported. |
| 0x0000076A | The group member was not found. |
| 0x0000076B | The endpoint mapper database could not be created. |
| 0x0000076C | The object universal unique identifier (UUID) is the nil UUID. |
| 0x0000076D | The specified time is invalid. |
| 0x0000076E | The specified Form name is invalid. |
| 0x0000076F | The specified Form size is invalid |
| 0x00000770 | The specified Printer handle is already being waited on |
| 0x00000771 | The specified Printer has been deleted |
| 0x00000772 | The state of the Printer is invalid |
| 0x00000773 | The user must change his password before he logs on the first time. |
| 0x00000774 | Could not find the domain controller for this domain. |
| 0x00000775 | The referenced account is currently locked out and may not be logged on to. |
| 0x00000776 | The object exporter specified was not found. |
| 0x00000777 | The object specified was not found. |
| 0x00000778 | The object resolver set specified was not found. |
| 0x00000779 | Some data remains to be sent in the request buffer. |
| 0x000007D0 | The pixel format is invalid. |
| 0x000007D1 | The specified driver is invalid. |
| 0x000007D2 | The window style or class attribute is invalid for this operation. |
| 0x000007D3 | The requested metafile operation is not supported. |
| 0x000007D4 | The requested transformation operation is not supported. |
| 0x000007D5 | The requested clipping operation is not supported. |
| 0x0000083C | The network connection was made successfully but the user had to be prompted for a password other than the one originally specified. |
| 0x0000089A | The specified username is invalid. |
| 0x000008CA | This network connection does not exist. |
| 0x00000961 | This network connection has files open or requests pending. |
| 0x00000962 | Active connections still exist. |
| 0x00000964 | The device is in use by an active process and cannot be disconnected. |
| 0x00000BB8 | The specified print monitor is unknown. |
| 0x00000BB9 | The specified printer driver is currently in use. |
| 0x00000BBA | The spool file was not found. |
| 0x00000BBB | A StartDocPrinter call was not issued. |
| 0x00000BBC | An AddJob call was not issued. |
| 0x00000BBD | The specified print processor has already been installed. |
| 0x00000BBE | The specified print monitor has already been installed. |
| 0x00000BBF | The specified print monitor does not have the required functions. |
| 0x00000BC0 | The specified print monitor is currently in use. |
| 0x00000BC1 | The requested operation is not allowed when there are jobs queued to the printer. |
| 0x00000BC2 | The requested operation is successful. |
| 0x00000BC3 | The requested operation is successful. |
| 0x00000FA0 | WINS encountered an error while processing the command. |
| 0x00000FA1 | The local WINS can not be deleted. |
| 0x00000FA2 | The importation from the file failed. |
| 0x00000FA3 | The backup Failed. |
| 0x00000FA4 | The backup Failed. |
| 0x00000FA5 | The name does not exist in the WINS database. |
| 0x00000FA6 | Replication with a non-configured partner is not allowed. |
| 0x00001004 | The DHCP client has obtained an IP address that is already in use on the network. |
| 0x00001389 | The cluster resource cannot be moved to another group because other resources are dependent on it. |
| 0x0000138A | The cluster resource dependency cannot be found. |
| 0x0000138B | The cluster resource cannot be made dependent on the specified resource because it is already dependent. |
| 0x0000138C | The cluster resource is not online. |
| 0x0000138D | A cluster node is not available for this operation. |
| 0x0000138E | The cluster resource is not available. |
| 0x0000138F | The cluster resource could not be found. |
| 0x00001390 | The cluster is being shut down. |
| 0x00001391 | A cluster node cannot be evicted from the cluster while it is online. |
| 0x00001392 | The object already exists. |
| 0x00001393 | The object is already in the list. |
| 0x00001394 | The cluster group is not available for any new requests. |
| 0x00001395 | The cluster group could not be found. |
| 0x00001396 | The operation could not be completed because the cluster group is not online. |
| 0x00001397 | The cluster node is not the owner of the resource. |
| 0x00001398 | The cluster node is not the owner of the group. |
| 0x00001399 | The cluster resource could not be created in the specified resource monitor. |
| 0x0000139A | The cluster resource could not be brought online by the resource monitor. |
| 0x0000139B | The operation could not be completed because the cluster resource is online. |
| 0x0000139C | The cluster resource could not be deleted or brought offline because it is the quorum resource. |
| 0x0000139D | The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource. |
| 0x0000139E | The cluster software is shutting down. |
| 0x0000139F | The group or resource is not in the correct state to perform the requested operation. |
| 0x000013A0 | The properties were stored but not all changes will take effect until the next time the resource is brought online. |
| 0x000013A1 | The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class. |
| 0x000013A2 | The cluster resource could not be deleted since it is a core resource. |
| 0x000013A3 | The quorum resource failed to come online. |
| 0x000013A4 | The quorum log could not be created or mounted successfully. |
| 0x000013A5 | The cluster log is corrupt. |
| 0x000013A6 | The record could not be written to the cluster log since it exceeds the maximum size. |
| 0x000013A7 | The cluster log exceeds its maximum size. |
| 0x000013A8 | No checkpoint record was found in the cluster log. |
| 0x000013A9 | The minimum required disk space needed for logging is not available. |
| 0x000017E6 | The list of servers for this workgroup is not currently available |
| 0x00030000 | Require mutual authentication with the server (RLPOLICY_AUTHENTICATE_MUTUAL_ONLY) |
| 0x00030200 | The underlying file was converted to compound file format. |
| 0x00030201 | The storage operation should block until more data is available. |
| 0x00030202 | The storage operation should retry immediately. |
| 0x00030203 | The notified event sink will not influence the storage operation. |
| 0x00040000 | Use the registry database to provide the requested information |
| 0x00040001 | Success |
| 0x00040002 | Macintosh clipboard format |
| 0x00040100 | Successful drop took place |
| 0x00040101 | Drag-drop operation canceled |
| 0x00040102 | Use the default cursor |
| 0x00040130 | Data has same FORMATETC |
| 0x00040140 | View is already frozen |
| 0x00040170 | FORMATETC not supported |
| 0x00040171 | Same cache |
| 0x00040172 | Some cache(s) not updated |
| 0x00040180 | Invalid verb for OLE object |
| 0x00040181 | Verb number is valid but verb cannot be done now |
| 0x00040182 | Invalid window handle passed |
| 0x000401A0 | Message is too long; some of it had to be truncated before displaying |
| 0x000401C0 | Unable to convert OLESTREAM to IStorage |
| 0x000401E2 | Moniker reduced to itself |
| 0x000401E4 | Common prefix is this moniker |
| 0x000401E5 | Common prefix is input moniker |
| 0x000401E6 | Common prefix is both monikers |
| 0x000401E7 | Moniker is already registered in running object table |
| 0x80000001 | Not implemented |
| 0x80000002 | Ran out of memory |
| 0x80000003 | One or more arguments are invalid |
| 0x80000004 | No such interface supported |
| 0x80000005 | Invalid pointer |
| 0x80000006 | Invalid handle |
| 0x80000007 | Operation aborted |
| 0x80000008 | Unspecified error |
| 0x80000009 | General access denied error |
| 0x8000000A | The data necessary to complete this operation is not yet available. |
| 0x80004001 | Not implemented |
| 0x80004002 | No such interface supported |
| 0x80004003 | Invalid pointer |
| 0x80004004 | Operation aborted |
| 0x80004005 | Unspecified error |
| 0x80004006 | Thread local storage failure |
| 0x80004007 | Get shared memory allocator failure |
| 0x80004008 | Get memory allocator failure |
| 0x80004009 | Unable to initialize class cache |
| 0x8000400A | Unable to initialize RPC services |
| 0x8000400B | Cannot set thread local storage channel control |
| 0x8000400C | Could not allocate thread local storage channel control |
| 0x8000400D | The user supplied memory allocator is unacceptable |
| 0x8000400E | The OLE service mutex already exists |
| 0x8000400F | The OLE service file mapping already exists |
| 0x80004010 | Unable to map view of file for OLE service |
| 0x80004011 | Failure attempting to launch OLE service |
| 0x80004012 | There was an attempt to call CoInitialize a second time while single threaded |
| 0x80004013 | A Remote activation was necessary but was not allowed |
| 0x80004014 | A Remote activation was necessary but the server name provided was invalid |
| 0x80004015 | The class is configured to run as a security id different from the caller |
| 0x80004016 | Use of Ole1 services requiring DDE windows is disabled |
| 0x80004017 | A RunAs specification must be or simply |
| 0x80004018 | The server process could not be started. |
| 0x80004019 | The server process could not be started as the configured identity. |
| 0x8000401A | The server process could not be started because the configured identity is incorrect. |
| 0x8000401B | The client is not allowed to launch this server. |
| 0x8000401C | The service providing this server could not be started. |
| 0x8000401D | This computer was unable to communicate with the computer providing the server. |
| 0x8000401E | The server did not respond after being launched. |
| 0x8000401F | The registration information for this server is inconsistent or incomplete. |
| 0x80004020 | The registration information for this interface is inconsistent or incomplete. |
| 0x80004021 | The operation attempted is not supported. |
| 0x80041001 | The call failed. |
| 0x80041002 | The object could not be found. |
| 0x80041003 | The current user does not have permission to perform the action. |
| 0x80041004 | The provider has failed at some time other than during initialization. |
| 0x80041005 | A type mismatch occurred. |
| 0x80041006 | There was not enough memory for the operation. |
| 0x80041007 | The IWbemContext object is not valid. |
| 0x80041008 | One of the parameters to the call is not correct. |
| 0x8004100A | An internal error occurred |
| 0x8004100B | One or more network packets were corrupted during a remote session. |
| 0x8004100C | The feature or operation is not supported. |
| 0x8004100D | The superclass specified is not valid. |
| 0x8004100E | The namespace specified could not be found. |
| 0x8004100F | The specified instance is not valid. |
| 0x80041010 | The specified class is not valid. |
| 0x80041011 | A provider referenced in the schema does not have a corresponding registration. |
| 0x80041014 | A component |
| 0x80041015 | A networking error that prevents normal operation has occurred. |
| 0x80041016 | The requested operation is not valid. This error usually applies to invalid attempts to delete classes or properties. |
| 0x80041017 | The query was not syntactically valid. |
| 0x80041018 | The requested query language is not supported. |
| 0x8000FFFF | Catastrophic failure |
| 0x80010001 | Call was rejected by callee. |
| 0x80010002 | Call was canceled by the message filter. |
| 0x80010003 | The caller is dispatching an intertask SendMessage call and cannot call out via PostMessage. |
| 0x80010004 | The caller is dispatching an asynchronous call and cannot make an outgoing call on behalf of this call. |
| 0x80010005 | It is illegal to call out while inside message filter. |
| 0x80010006 | The connection terminated or is in a bogus state and cannot be used any more. Other connections are still valid. |
| 0x80010007 | The callee (server [not server application]) is not available and disappeared; all connections are invalid. |
| 0x80010008 | The caller (client) disappeared while the callee (server) was processing a call. |
| 0x80010009 | The data packet with the marshaled parameter data is incorrect. |
| 0x8001000A | The call was not transmitted properly; the message queue was full and was not emptied after yielding. |
| 0x8001000B | The client (caller) cannot marshal the parameter data – low memory |
| 0x8001000C | The client (caller) cannot un-marshal the return data – low memory |
| 0x8001000D | The server (callee) cannot marshal the return data – low memory |
| 0x8001000E | The server (callee) cannot un-marshal the parameter data – low memory |
| 0x8001000F | Received data is invalid; could be server or client data. |
| 0x80010010 | A particular parameter is invalid and cannot be (un)marshaled. |
| 0x80010011 | There is no second outgoing call on same channel in DDE conversation. |
| 0x80010012 | The callee (server [not server application]) is not available and disappeared; all connections are invalid. |
| 0x80010100 | System call failed. |
| 0x80010101 | Could not allocate some required resource (memory |
| 0x80010102 | Attempted to make calls on more than one thread in single threaded mode. |
| 0x80010103 | The requested interface is not registered on the server object. |
| 0x80010104 | RPC could not call the server or could not return the results of calling the server. |
| 0x80010105 | The server threw an exception. |
| 0x80010106 | Cannot change thread mode after it is set. |
| 0x80010107 | The method called does not exist on the server. |
| 0x80010108 | The object invoked has disconnected from its clients. |
| 0x80010109 | The object invoked chose not to process the call now. |
| 0x8001010A | The message filter indicated that the application is busy. |
| 0x8001010B | The message filter rejected the call. |
| 0x8001010C | A call control interfaces was called with invalid data. |
| 0x8001010D | An outgoing call cannot be made since the application is dispatching an input-synchronous call. |
| 0x8001010E | The application called an interface that was marshaled for a different thread. |
| 0x8001010F | CoInitialize has not been called on the current thread. |
| 0x80010110 | The version of OLE on the client and server machines does not match. |
| 0x80010111 | OLE received a packet with an invalid header. |
| 0x80010112 | OLE received a packet with an invalid extension. |
| 0x80010113 | The requested object or interface does not exist. |
| 0x80010114 | The requested object does not exist. |
| 0x80010115 | OLE has sent a request and is waiting for a reply. |
| 0x80010116 | OLE is waiting before retrying a request. |
| 0x80010117 | Call context cannot be accessed after call completed. |
| 0x80010118 | Impersonate on un-secure calls is not supported. |
| 0x80010119 | Security must be initialized before any interfaces are marshaled or un-marshaled. |
| 0x8001011A | No security packages are installed on this machine or the user is not logged on or there are no compatible security packages between the client and server. |
| 0x8001011B | Access is denied. |
| 0x8001011C | Remote calls are not allowed for this process. |
| 0x8001011D | The marshaled interface data packet (OBJREF) has an invalid or unknown format. |
| 0x8001FFFF | An internal error occurred. |
| 0x80020001 | Unknown interface. |
| 0x80020003 | Member not found. |
| 0x80020004 | Parameter not found. |
| 0x80020005 | Type mismatch. |
| 0x80020006 | Unknown name. |
| 0x80020007 | No named arguments. |
| 0x80020008 | Bad variable type. |
| 0x80020009 | Exception occurred. |
| 0x8002000A | Out of present range. |
| 0x8002000B | Invalid index. |
| 0x8002000C | Unknown language. |
| 0x8002000D | Memory is locked. |
| 0x8002000E | Invalid number of parameters. |
| 0x8002000F | Parameter not optional. |
| 0x80020010 | Invalid callee. |
| 0x80020011 | Does not support a collection. |
| 0x80028016 | Buffer too small. |
| 0x80028018 | Old format or invalid type library. |
| 0x80028019 | Old format or invalid type library. |
| 0x8002801C | Error accessing the OLE registry. |
| 0x8002801D | Library not registered. |
| 0x80028027 | Bound to unknown type. |
| 0x80028028 | Qualified name disallowed. |
| 0x80028029 | Invalid forward reference |
| 0x8002802A | Type mismatch. |
| 0x8002802B | Element not found. |
| 0x8002802C | Ambiguous name. |
| 0x8002802D | Name already exists in the library. |
| 0x8002802E | Unknown LCID. |
| 0x8002802F | Function not defined in specified DLL. |
| 0x800288BD | Wrong module kind for the operation. |
| 0x800288C5 | Size may not exceed 64K. |
| 0x800288C6 | Duplicate ID in inheritance hierarchy. |
| 0x800288CF | Incorrect inheritance depth in standard OLE hmember. |
| 0x80028CA0 | Type mismatch. |
| 0x80028CA1 | Invalid number of arguments. |
| 0x80028CA2 | I/O Error. |
| 0x80028CA3 | Error creating unique tmp file. |
| 0x80029C4A | Error loading type library/DLL. |
| 0x80029C83 | Inconsistent property functions. |
| 0x80029C84 | Circular dependency between types/modules. |
| 0x80030001 | Unable to perform requested operation. |
| 0x80030002 | %1 could not be found. |
| 0x80030003 | The path %1 could not be found. |
| 0x80030004 | There are insufficient resources to open another file. |
| 0x80030005 | Access Denied. |
| 0x80030006 | Attempted an operation on an invalid object. |
| 0x80030008 | There is insufficient memory available to complete operation. |
| 0x80030009 | Invalid pointer error. |
| 0x80030012 | There are no more entries to return. |
| 0x80030013 | Disk is write-protected. |
| 0x80030019 | An error occurred during a seek operation. |
| 0x8003001D | A disk error occurred during a write operation. |
| 0x8003001E | A disk error occurred during a read operation. |
| 0x80030020 | A share violation has occurred. |
| 0x80030021 | A lock violation has occurred. |
| 0x80030050 | %1 already exists. |
| 0x80030057 | Invalid parameter error. |
| 0x80030070 | There is insufficient disk space to complete operation. |
| 0x800300F0 | Illegal write of non-simple property to simple property set. |
| 0x800300FA | An API call exited abnormally. |
| 0x800300FB | The file %1 is not a valid compound file. |
| 0x800300FC | The name %1 is not valid. |
| 0x800300FD | An unexpected error occurred. |
| 0x800300FE | That function is not implemented. |
| 0x800300FF | Invalid flag error. |
| 0x80030100 | Attempted to use an object that is busy. |
| 0x80030101 | The storage has been changed since the last commit. |
| 0x80030102 | Attempted to use an object that has ceased to exist. |
| 0x80030103 | Can’t save. |
| 0x80030104 | The compound file %1 was produced with an incompatible version of storage. |
| 0x80030105 | The compound file %1 was produced with a newer version of storage. |
| 0x80030106 | Share.exe or equivalent is required for operation. |
| 0x80030107 | Illegal operation called on non-file based storage. |
| 0x80030108 | Illegal operation called on object with extant marshallings. |
| 0x80030109 | The docfile has been corrupted. |
| 0x80030110 | OLE32.DLL has been loaded at the wrong address. |
| 0x80030201 | The file download was aborted abnormally. |
| 0x80030202 | The file download has been terminated. |
| 0x80040000 | Invalid OLEVERB structure |
| 0x80040001 | Invalid advice flags |
| 0x80040002 | Can’t enumerate any more |
| 0x80040003 | This implementation doesn’t take advises |
| 0x80040004 | There is no connection for this connection ID |
| 0x80040005 | Need to run the object to perform this operation |
| 0x80040006 | There is no cache to operate on |
| 0x80040007 | Un-initialized object |
| 0x80040008 | Linked object’s source class has changed |
| 0x80040009 | Not able to get the moniker of the object |
| 0x8004000A | Not able to bind to the source |
| 0x8004000B | Object is static; operation not allowed |
| 0x8004000C | User cancelled out of save dialog |
| 0x8004000D | Invalid rectangle |
| 0x8004000E | compobj.dll is too old for the ole2.dll initialized |
| 0x8004000F | Invalid window handle |
| 0x80040010 | Object is not in any of the inplace active states |
| 0x80040011 | Not able to convert object |
| 0x80040012 | Not able to perform the operation because object is not given storage yet |
| 0x80040064 | Invalid FORMATETC structure |
| 0x80040065 | Invalid DVTARGETDEVICE structure |
| 0x80040066 | Invalid STDGMEDIUM structure |
| 0x80040067 | Invalid STATDATA structure |
| 0x80040068 | Invalid lindex |
| 0x80040069 | Invalid tymed |
| 0x8004006A | Invalid clipboard format |
| 0x8004006B | Invalid aspect(s) |
| 0x8004006C | tdSize parameter of the DVTARGETDEVICE structure is invalid |
| 0x8004006D | Object doesn’t support IViewObject interface |
| 0x80040100 | Trying to revoke a drop target that has not been registered |
| 0x80040101 | This window has already been registered as a drop target |
| 0x80040102 | Invalid window handle |
| 0x80040110 | Class does not support aggregation (or class object is remote) |
| 0x80040111 | ClassFactory cannot supply requested class |
| 0x80040140 | Error drawing view |
| 0x80040150 | Could not read key from registry |
| 0x80040151 | Could not write key to registry |
| 0x80040152 | Could not find the key in the registry |
| 0x80040153 | Invalid value for registry |
| 0x80040154 | Class not registered |
| 0x80040155 | Interface not registered |
| 0x80040170 | Cache not updated |
| 0x80040180 | No verbs for OLE object |
| 0x80040181 | Invalid verb for OLE object |
| 0x800401A0 | Undo is not available |
| 0x800401A1 | Space for tools is not available |
| 0x800401C0 | OLESTREAM Get method failed |
| 0x800401C1 | OLESTREAM Put method failed |
| 0x800401C2 | Contents of the OLESTREAM not in correct format |
| 0x800401C3 | There was an error in a Windows GDI call while converting the bitmap to a DIB |
| 0x800401C4 | Contents of the IStorage not in correct format |
| 0x800401C5 | Contents of IStorage is missing one of the standard streams |
| 0x800401C6 | There was an error in a Windows GDI call while converting the DIB to a bitmap. |
| 0x800401D0 | OpenClipboard Failed |
| 0x800401D1 | EmptyClipboard Failed |
| 0x800401D2 | SetClipboard Failed |
| 0x800401D3 | Data on clipboard is invalid |
| 0x800401D4 | CloseClipboard Failed |
| 0x800401E0 | Moniker needs to be connected manually |
| 0x800401E1 | Operation exceeded deadline |
| 0x800401E2 | Moniker needs to be generic |
| 0x800401E3 | Operation unavailable |
| 0x800401E4 | Invalid syntax |
| 0x800401E5 | No object for moniker |
| 0x800401E6 | Bad extension for file |
| 0x800401E7 | Intermediate operation failed |
| 0x800401E8 | Moniker is not bindable |
| 0x800401E9 | Moniker is not bound |
| 0x800401EA | Moniker cannot open file |
| 0x800401EB | User input required for operation to succeed |
| 0x800401EC | Moniker class has no inverse |
| 0x800401ED | Moniker does not refer to storage |
| 0x800401EE | No common prefix |
| 0x800401EF | Moniker could not be enumerated |
| 0x800401F0 | CoInitialize has not been called. |
| 0x800401F1 | CoInitialize has already been called. |
| 0x800401F2 | Class of object cannot be determined |
| 0x800401F3 | Invalid class string |
| 0x800401F4 | Invalid interface string |
| 0x800401F5 | Application not found |
| 0x800401F6 | Application cannot be run more than once |
| 0x800401F7 | Some error in application program |
| 0x800401F8 | DLL for class not found |
| 0x800401F9 | Error in the DLL |
| 0x800401FA | Wrong OS or OS version for application |
| 0x800401FB | Object is not registered |
| 0x800401FC | Object is already registered |
| 0x800401FD | Object is not connected to server |
| 0x800401FE | Application was launched but it didn’t register a class factory |
| 0x800401FF | Object has been released |
| 0x80040200 | Unable to impersonate DCOM client |
| 0x80040201 | Unable to obtain server’s security context |
| 0x80040202 | Unable to open the access token of the current thread |
| 0x80040203 | Unable to obtain user info from an access token |
| 0x80040204 | The client who called IAccessControl::IsAccessPermitted was the trustee provided tot he method |
| 0x80040205 | Unable to obtain the client’s security blanket |
| 0x80040206 | Unable to set a discretionary ACL into a security descriptor |
| 0x80040207 | The system function |
| 0x80040208 | Either NetAccessDel or NetAccessAdd returned an error code. |
| 0x80040209 | One of the trustee strings provided by the user did not conform to the syntax and it was not the “*” string |
| 0x8004020A | One of the security identifiers provided by the user was invalid |
| 0x8004020B | Unable to convert a wide character trustee string to a multibyte trustee string |
| 0x8004020C | Unable to find a security identifier that corresponds to a trustee string provided by the user |
| 0x8004020D | The system function |
| 0x8004020E | Unable to find a trustee name that corresponds to a security identifier provided by the user |
| 0x8004020F | The system function |
| 0x80040210 | Unable to set or reset a serialization handle |
| 0x80040211 | Unable to obtain the Windows directory |
| 0x80040212 | Path too long |
| 0x80040213 | Unable to generate a uuid. |
| 0x80040214 | Unable to create file |
| 0x80040215 | Unable to close a serialization handle or a file handle. |
| 0x80040216 | The number of ACEs in an ACL exceeds the system limit |
| 0x80040217 | Not all the DENY_ACCESS ACEs are arranged in front of the GRANT_ACCESS ACEs in the stream |
| 0x80040218 | The version of ACL format in the stream is not supported by this implementation of IAccessControl |
| 0x80040219 | Unable to open the access token of the server process |
| 0x8004021A | Unable to decode the ACL in the stream provided by the user |
| 0x8004021B | The COM IAccessControl object is not initialized |
| 0x80070000 | The operation completed successfully. |
| 0x80070001 | Incorrect function. |
| 0x80070002 | The system cannot find the file specified. |
| 0x80070003 | The system cannot find the path specified. |
| 0x80070004 | The system cannot open the file. |
| 0x80070005 | Access is denied. |
| 0x80070006 | The handle is invalid. |
| 0x80070007 | The storage control blocks were destroyed. |
| 0x80070008 | Not enough storage is available to process this command. |
| 0x80070009 | The storage control block address is invalid. |
| 0x8007000A | The environment is incorrect. |
| 0x8007000B | An attempt was made to load a program with an incorrect format. |
| 0x8007000C | The access code is invalid. |
| 0x8007000D | The data is invalid. |
| 0x8007000E | Not enough storage is available to complete this operation. |
| 0x8007000F | The system cannot find the drive specified. |
| 0x80070010 | The directory cannot be removed. |
| 0x80070011 | The system cannot move the file to a different disk drive. |
| 0x80070012 | There are no more files. |
| 0x80070013 | The media is write protected. |
| 0x80070014 | The system cannot find the device specified. |
| 0x80070015 | The device is not ready. |
| 0x80070016 | The device does not recognize the command. |
| 0x80070017 | Data error (cyclic redundancy check) |
| 0x80070018 | The program issued a command but the command length is incorrect. |
| 0x80070019 | The drive cannot locate a specific area or track on the disk. |
| 0x8007001A | The specified disk or diskette cannot be accessed. |
| 0x8007001B | The drive cannot find the sector requested. |
| 0x8007001C | The printer is out of paper. |
| 0x8007001D | The system cannot write to the specified device. |
| 0x8007001E | The system cannot read from the specified device. |
| 0x8007001F | A device attached to the system is not functioning. |
| 0x80070020 | The process cannot access the file because it is being used by another process. |
| 0x80070021 | The process cannot access the file because another process has locked a portion of the file. |
| 0x80070022 | The wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1. |
| 0x80070024 | Too many files opened for sharing. |
| 0x80070026 | Reached end of file. |
| 0x80070027 | The disk is full. |
| 0x80070032 | The network request is not supported. |
| 0x80070033 | The remote computer is not available. |
| 0x80070034 | A duplicate name exists on the network. |
| 0x80070035 | The network path was not found. |
| 0x80070036 | The network is busy. |
| 0x80070037 | The specified network resource or device is no longer available. |
| 0x80070038 | The network BIOS command limit has been reached. |
| 0x80070039 | A network adapter hardware error occurred. |
| 0x8007003A | The specified server cannot perform the requested operation. |
| 0x8007003B | An unexpected network error occurred. |
| 0x8007003C | The remote adapter is not compatible. |
| 0x8007003D | The printer queue is full. |
| 0x8007003E | Space to store the file waiting to be printed is not available on the server. |
| 0x8007003F | Your file waiting to be printed was deleted. |
| 0x80070040 | The specified network name is no longer available. |
| 0x80070041 | Network access is denied. |
| 0x80070042 | The network resource type is not correct. |
| 0x80070043 | The network name cannot be found. |
| 0x80070044 | The name limit for the local computer network adapter card was exceeded. |
| 0x80070045 | The network BIOS session limit was exceeded. |
| 0x80070046 | The remote server has been paused or is in the process of being started. |
| 0x80070047 | No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept. |
| 0x80070048 | The specified printer or disk device has been paused. |
| 0x80070050 | The file exists. |
| 0x80070052 | The directory or file cannot be created. |
| 0x80070053 | Fail on INT 24 |
| 0x80070054 | Storage to process this request is not available. |
| 0x80070055 | The local device name is already in use. |
| 0x80070056 | The specified network password is not correct. |
| 0x80070057 | The parameter is incorrect. |
| 0x80070058 | A write fault occurred on the network. |
| 0x80070059 | The system cannot start another process at this time. |
| 0x80070064 | Cannot create another system semaphore. |
| 0x80070065 | The exclusive semaphore is owned by another process. |
| 0x80070066 | The semaphore is set and cannot be closed. |
| 0x80070067 | The semaphore cannot be set again. |
| 0x80070068 | Cannot request exclusive semaphores at interrupt time. |
| 0x80070069 | The previous ownership of this semaphore has ended. |
| 0x8007006A | Insert the diskette for drive %1. |
| 0x8007006B | Program stopped because alternate diskette was not inserted. |
| 0x8007006C | The disk is in use or locked by another process. |
| 0x8007006D | The pipe has been ended. |
| 0x8007006E | The system cannot open the device or file specified. |
| 0x8007006F | The file name is too long. |
| 0x80070070 | There is not enough space on the disk. |
| 0x80070071 | No more internal file identifiers available. |
| 0x80070072 | The target internal file identifier is incorrect. |
| 0x80070075 | The IOCTL call made by the application program is not correct. |
| 0x80070076 | The verify-on-write switch parameter value is not correct. |
| 0x80070077 | The system does not support the command requested. |
| 0x80070078 | This function is only valid in Windows NT mode. |
| 0x80070079 | The semaphore timeout period has expired. |
| 0x8007007A | The data area passed to a system call is too small. |
| 0x8007007C | The system call level is not correct. |
| 0x8007007D | The disk has no volume label. |
| 0x8007007E | The specified module could not be found. |
| 0x8007007F | The specified procedure could not be found. |
| 0x80070080 | There are no child processes to wait for. |
| 0x80070081 | The %1 application cannot be run in Windows NT mode. |
| 0x80070082 | Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O. |
| 0x80070083 | An attempt was made to move the file pointer before the beginning of the file. |
| 0x80070084 | The file pointer cannot be set on the specified device or file. |
| 0x80070085 | A JOIN or SUBST command cannot be used for a drive that contains previously joined drives. |
| 0x80070086 | An attempt was made to use a JOIN or SUBST command on a drive that has already been joined. |
| 0x80070087 | An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted. |
| 0x80070088 | The system tried to delete the JOIN of a drive that is not joined. |
| 0x80070089 | The system tried to delete the substitution of a drive that is not substituted. |
| 0x8007008A | The system tried to join a drive to a directory on a joined drive. |
| 0x8007008B | The system tried to substitute a drive to a directory on a substituted drive. |
| 0x8007008C | The system tried to join a drive to a directory on a substituted drive. |
| 0x8007008D | The system tried to SUBST a drive to a directory on a joined drive. |
| 0x8007008E | The system cannot perform a JOIN or SUBST at this time. |
| 0x8007008F | The system cannot join or substitute a drive to or for a directory on the same drive. |
| 0x80070090 | The directory is not a subdirectory of the root directory. |
| 0x80070091 | The directory is not empty. |
| 0x80070092 | The path specified is being used in a substitute. |
| 0x80070093 | Not enough resources are available to process this command. |
| 0x80070094 | The path specified cannot be used at this time. |
| 0x80070095 | An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute. |
| 0x80070096 | System trace information was not specified in your CONFIG.SYS file |
| 0x80070097 | The number of specified semaphore events for DosMuxSemWait is not correct. |
| 0x80070098 | DosMuxSemWait did not execute; too many semaphores are already set. |
| 0x80070099 | The DosMuxSemWait list is not correct. |
| 0x8007009A | The volume label you entered exceeds the label character limit of the target file system. |
| 0x8007009B | Cannot create another thread. |
| 0x8007009C | The recipient process has refused the signal. |
| 0x8007009D | The segment is already discarded and cannot be locked. |
| 0x8007009E | The segment is already unlocked. |
| 0x8007009F | The address for the thread ID is not correct. |
| 0x800700A0 | The argument string passed to DosExecPgm is not correct. |
| 0x800700A1 | The specified path is invalid. |
| 0x800700A2 | A signal is already pending. |
| 0x800700A4 | No more threads can be created in the system. |
| 0x800700A7 | Unable to lock a region of a file. |
| 0x800700AA | The requested resource is in use. |
| 0x800700AD | A lock request was not outstanding for the supplied cancel region. |
| 0x800700AE | The file system does not support atomic changes to the lock type. |
| 0x800700B4 | The system detected a segment number that was not correct. |
| 0x800700B6 | The operating system cannot run %1. |
| 0x800700B7 | Cannot create a file when that file already exists. |
| 0x800700BA | The flag passed is not correct. |
| 0x800700BB | The specified system semaphore name was not found. |
| 0x800700BC | The operating system cannot run %1. |
| 0x800700BD | The operating system cannot run %1. |
| 0x800700BE | The operating system cannot run %1. |
| 0x800700BF | Cannot run %1 in Windows NT mode. |
| 0x800700C0 | The operating system cannot run %1. |
| 0x800700C1 | %1 is not a valid Windows NT application. |
| 0x800700C2 | The operating system cannot run %1. |
| 0x800700C3 | The operating system cannot run %1. |
| 0x800700C4 | The operating system cannot run this application program. |
| 0x800700C5 | The operating system is not presently configured to run this application. |
| 0x800700C6 | The operating system cannot run %1. |
| 0x800700C7 | The operating system cannot run this application program. |
| 0x800700C8 | The code segment cannot be greater than or equal to 64KB. |
| 0x800700C9 | The operating system cannot run %1. |
| 0x800700CA | The operating system cannot run %1. |
| 0x800700CB | The system could not find the environment option that was entered. |
| 0x800700CD | No process in the command subtree has a signal handler. |
| 0x800700CE | The filename or extension is too long. |
| 0x800700CF | The ring 2 stack is in use. |
| 0x800700D0 | The global filename characters |
| 0x800700D1 | The signal being posted is not correct. |
| 0x800700D2 | The signal handler cannot be set. |
| 0x800700D4 | The segment is locked and cannot be reallocated. |
| 0x800700D6 | Too many dynamic link modules are attached to this program or dynamic link module. |
| 0x800700D7 | Can’t nest calls to LoadModule. |
| 0x800700D8 | The image file %1 is valid |
| 0x800700E6 | The pipe state is invalid. |
| 0x800700E7 | All pipe instances are busy. |
| 0x800700E8 | The pipe is being closed. |
| 0x800700E9 | No process is on the other end of the pipe. |
| 0x800700EA | More data is available. |
| 0x800700F0 | The session was cancelled. |
| 0x800700FE | The specified extended attribute name was invalid. |
| 0x800700FF | The extended attributes are inconsistent. |
| 0x80070103 | No more data is available. |
| 0x8007010A | The Copy API cannot be used. |
| 0x8007010B | The directory name is invalid. |
| 0x80070113 | The extended attributes did not fit in the buffer. |
| 0x80070114 | The extended attribute file on the mounted file system is corrupt. |
| 0x80070115 | The extended attribute table file is full. |
| 0x80070116 | The specified extended attribute handle is invalid. |
| 0x8007011A | The mounted file system does not support extended attributes. |
| 0x80070120 | Attempt to release mutex not owned by caller. |
| 0x8007012A | Too many posts were made to a semaphore. |
| 0x8007012B | Only part of a Read/WriteProcessMemory request was completed. |
| 0x8007013D | The system cannot find message for message number 0x%1 in message file for %2. |
| 0x800701E7 | Attempt to access invalid address. |
| 0x80070216 | Arithmetic result exceeded 32 bits. |
| 0x80070217 | There is a process on other end of the pipe. |
| 0x80070218 | Waiting for a process to open the other end of the pipe. |
| 0x800703E2 | Access to the extended attribute was denied. |
| 0x800703E3 | The I/O operation has been aborted because of either a thread exit or an application request. |
| 0x800703E4 | Overlapped I/O event is not in a signaled state. |
| 0x800703E5 | Overlapped I/O operation is in progress. |
| 0x800703E6 | Invalid access to memory location. |
| 0x800703E7 | Error performing inpage operation. |
| 0x800703E9 | Recursion too deep |
| 0x800703EA | The window cannot act on the sent message. |
| 0x800703EB | Cannot complete this function. |
| 0x800703EC | Invalid flags. |
| 0x800703ED | The volume does not contain a recognized file system. Please make sure that all required file system drivers are loaded and that the volume is not corrupt. |
| 0x800703EE | The volume for a file has been externally altered such that the opened file is no longer valid. |
| 0x800703EF | The requested operation cannot be performed in full-screen mode. |
| 0x800703F0 | An attempt was made to reference a token that does not exist. |
| 0x800703F1 | The configuration registry database is corrupt. |
| 0x800703F2 | The configuration registry key is invalid. |
| 0x800703F3 | The configuration registry key could not be opened. |
| 0x800703F4 | The configuration registry key could not be read. |
| 0x800703F5 | The configuration registry key could not be written. |
| 0x800703F6 | One of the files in the Registry database had to be recovered by use of a log or alternate copy. |
| 0x800703F7 | The Registry is corrupt. The structure of one of the files that contains Registry data is corrupt |
| 0x800703F8 | An I/O operation initiated by the Registry failed unrecoverably. The Registry could not read in |
| 0x800703F9 | The system has attempted to load or restore a file into the Registry |
| 0x800703FA | Illegal operation attempted on a Registry key which has been marked for deletion. |
| 0x800703FB | System could not allocate the required space in a Registry log. |
| 0x800703FC | Cannot create a symbolic link in a Registry key that already has subkeys or values. |
| 0x800703FD | Cannot create a stable subkey under a volatile parent key. |
| 0x800703FE | A notify change request is being completed and the information is not being returned in the caller’s buffer. The caller now needs to enumerate the files to find the changes. |
| 0x8007041B | A stop control has been sent to a service which other running services are dependent on. |
| 0x8007041C | The requested control is not valid for this service |
| 0x8007041D | The service did not respond to the start or control request in a timely fashion. |
| 0x8007041E | A thread could not be created for the service. |
| 0x8007041F | The service database is locked. |
| 0x80070420 | An instance of the service is already running. |
| 0x80070421 | The account name is invalid or does not exist. |
| 0x80070422 | The specified service is disabled and cannot be started. |
| 0x80070423 | Circular service dependency was specified. |
| 0x80070424 | The specified service does not exist as an installed service. |
| 0x80070425 | The service cannot accept control messages at this time. |
| 0x80070426 | The service has not been started. |
| 0x80070427 | The service process could not connect to the service controller. |
| 0x80070428 | An exception occurred in the service when handling the control request. |
| 0x80070429 | The database specified does not exist. |
| 0x8007042A | The service has returned a service-specific error code. |
| 0x8007042B | The process terminated unexpectedly. |
| 0x8007042C | The dependency service or group failed to start. |
| 0x8007042D | The service did not start due to a logon failure. |
| 0x8007042F | The specified service database lock is invalid. |
| 0x80070430 | The specified service has been marked for deletion. |
| 0x80070431 | The specified service already exists. |
| 0x80070432 | The system is currently running with the last-known-good configuration. |
| 0x80070433 | The dependency service does not exist or has been marked for deletion. |
| 0x80070434 | The current boot has already been accepted for use as the last-known-good control set. |
| 0x80070435 | No attempts to start the service have been made since the last boot. |
| 0x80070436 | The name is already in use as either a service name or a service display name. |
| 0x80070437 | The account specified for this service is different from the account specified for other services running in the same process. |
| 0x8007044C | The physical end of the tape has been reached. |
| 0x8007044D | A tape access reached a filemark. |
| 0x8007044E | Beginning of tape or partition was encountered. |
| 0x8007044F | A tape access reached the end of a set of files. |
| 0x80070450 | No more data is on the tape. |
| 0x80070451 | Tape could not be partitioned. |
| 0x80070452 | When accessing a new tape of a multivolume partition |
| 0x80070453 | Tape partition information could not be found when loading a tape. |
| 0x80070454 | Unable to lock the media eject mechanism. |
| 0x80070455 | Unable to unload the media. |
| 0x80070456 | Media in drive may have changed. |
| 0x80070457 | The I/O bus was reset. |
| 0x80070458 | No media in drive. |
| 0x80070459 | No mapping for the Unicode character exists in the target multi-byte code page. |
| 0x8007045A | A dynamic link library (DLL) initialization routine failed. |
| 0x8007045B | A system shutdown is in progress. |
| 0x8007045C | Unable to abort the system shutdown because no shutdown was in progress. |
| 0x8007045D | The request could not be performed because of an I/O device error. |
| 0x8007045E | No serial device was successfully initialized. |
| 0x8007045F | Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened. |
| 0x80070460 | A serial I/O operation was completed by another write to the serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.) |
| 0x80070461 | A serial I/O operation completed because the time-out period expired. (The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) |
| 0x80070462 | No ID address mark was found on the floppy disk. |
| 0x80070463 | Mismatch between the floppy disk sector ID field and the floppy disk controller track address. |
| 0x80070464 | The floppy disk controller reported an error that is not recognized by the floppy disk driver. |
| 0x80070465 | The floppy disk controller returned inconsistent results in its registers. |
| 0x80070466 | While accessing the hard disk |
| 0x80070467 | While accessing the hard disk |
| 0x80070468 | While accessing the hard disk |
| 0x80070469 | Physical end of tape encountered. |
| 0x8007046A | Not enough server storage is available to process this command. |
| 0x8007046B | A potential deadlock condition has been detected. |
| 0x8007046C | The base address or the file offset specified does not have the proper alignment. |
| 0x80070474 | An attempt to change the system power state was vetoed by another application or driver. |
| 0x80070475 | The system BIOS failed an attempt to change the system power state. |
| 0x80070476 | An attempt was made to create more links on a file than the file system supports. |
| 0x8007047E | The specified program requires a newer version of Windows. |
| 0x8007047F | The specified program is not a Windows or MS-DOS program. |
| 0x80070480 | Cannot start more than one instance of the specified program. |
| 0x80070481 | The specified program was written for an older version of Windows. |
| 0x80070482 | One of the library files needed to run this application is damaged. |
| 0x80070483 | No application is associated with the specified file for this operation. |
| 0x80070484 | An error occurred in sending the command to the application. |
| 0x80070485 | One of the library files needed to run this application cannot be found. |
| 0x800704B0 | The specified device name is invalid. |
| 0x800704B1 | The device is not currently connected but it is a remembered connection. |
| 0x800704B2 | An attempt was made to remember a device that had previously been remembered. |
| 0x800704B3 | No network provider accepted the given network path. |
| 0x800704B4 | The specified network provider name is invalid. |
| 0x800704B5 | Unable to open the network connection profile. |
| 0x800704B6 | The network connection profile is corrupt. |
| 0x800704B7 | Cannot enumerate a non-container. |
| 0x800704B8 | An extended error has occurred. |
| 0x800704B9 | The format of the specified group name is invalid. |
| 0x800704BA | The format of the specified computer name is invalid. |
| 0x800704BB | The format of the specified event name is invalid. |
| 0x800704BC | The format of the specified domain name is invalid. |
| 0x800704BD | The format of the specified service name is invalid. |
| 0x800704BE | The format of the specified network name is invalid. |
| 0x800704BF | The format of the specified share name is invalid. |
| 0x800704C0 | The format of the specified password is invalid. |
| 0x800704C1 | The format of the specified message name is invalid. |
| 0x800704C2 | The format of the specified message destination is invalid. |
| 0x800704C3 | The credentials supplied conflict with an existing set of credentials. |
| 0x800704C4 | An attempt was made to establish a session to a network server |
| 0x800704C5 | The workgroup or domain name is already in use by another computer on the network. |
| 0x800704C6 | The network is not present or not started. |
| 0x800704C7 | The operation was cancelled by the user. |
| 0x800704C8 | The requested operation cannot be performed on a file with a user mapped section open. |
| 0x800704C9 | The remote system refused the network connection. |
| 0x800704CA | The network connection was gracefully closed. |
| 0x800704CB | The network transport endpoint already has an address associated with it. |
| 0x800704CC | An address has not yet been associated with the network endpoint. |
| 0x800704CD | An operation was attempted on a non-existent network connection. |
| 0x800704CE | An invalid operation was attempted on an active network connection. |
| 0x800704CF | The remote network is not reachable by the transport. |
| 0x800704D0 | The remote system is not reachable by the transport. |
| 0x800704D1 | The remote system does not support the transport protocol. |
| 0x800704D2 | No service is operating at the destination network endpoint on the remote system. |
| 0x800704D3 | The request was aborted. |
| 0x800704D4 | The network connection was aborted by the local system. |
| 0x800704D5 | The operation could not be completed. |
| 0x800704D6 | A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached. |
| 0x800704D7 | Attempting to login during an unauthorized time of day for this account. |
| 0x800704D8 | The account is not authorized to login from this station. |
| 0x800704D9 | The network address could not be used for the operation requested. |
| 0x800704DA | The service is already registered. |
| 0x800704DB | The specified service does not exist. |
| 0x800704DC | The operation being requested was not performed because the user has not been authenticated. |
| 0x800704DD | The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist. |
| 0x800704DE | Return that wants caller to continue with work in progress. |
| 0x800704DF | An attempt was made to perform an initialization operation when initialization has already been completed. |
| 0x800704E0 | No more local devices. |
| 0x80070514 | Not all privileges referenced are assigned to the caller. |
| 0x80070515 | Some mapping between account names and security IDs was not done. |
| 0x80070516 | No system quota limits are specifically set for this account. |
| 0x80070517 | No encryption key is available. |
| 0x80070518 | The NT password is too complex to be converted to a LAN Manager password. |
| 0x80070519 | The revision level is unknown. |
| 0x8007051A | Indicates two revision levels are incompatible. |
| 0x8007051B | This security ID may not be assigned as the owner of this object. |
| 0x8007051C | This security ID may not be assigned as the primary group of an object. |
| 0x8007051D | An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client. |
| 0x8007051E | The group may not be disabled. |
| 0x8007051F | There are currently no logon servers available to service the logon request. |
| 0x80070520 | A specified logon session does not exist. |
| 0x80070521 | A specified privilege does not exist. |
| 0x80070522 | A required privilege is not held by the client. |
| 0x80070523 | The name provided is not a properly formed account name. |
| 0x80070524 | The specified user already exists. |
| 0x80070525 | The specified user does not exist. |
| 0x80070526 | The specified group already exists. |
| 0x80070527 | The specified group does not exist. |
| 0x80070528 | Either the specified user account is already a member of the specified group |
| 0x80070529 | The specified user account is not a member of the specified group account. |
| 0x8007052A | The last remaining administration account cannot be disabled or deleted. |
| 0x8007052B | Unable to update the password. |
| 0x8007052C | Unable to update the password. |
| 0x8007052D | Unable to update the password because a password update rule has been violated. |
| 0x8007052E | Logon failure: unknown user name or bad password. |
| 0x8007052F | Logon failure: user account restriction. |
| 0x80070530 | Logon failure: account logon time restriction violation. |
| 0x80070531 | Logon failure: user not allowed to log on to this computer. |
| 0x80070532 | Logon failure: the specified account password has expired. |
| 0x80070533 | Logon failure: account currently disabled. |
| 0x80070534 | No mapping between account names and security IDs was done. |
| 0x80070535 | Too many local user identifiers (LUIDs) were requested at one time. |
| 0x80070536 | No more local user identifiers (LUIDs) are available. |
| 0x80070537 | The subauthority part of a security ID is invalid for this particular use. |
| 0x80070538 | The access control list (ACL) structure is invalid. |
| 0x80070539 | The security ID structure is invalid. |
| 0x8007053A | The security descriptor structure is invalid. |
| 0x8007053C | The inherited access control list (ACL) or access control entry (ACE) could not be built. |
| 0x8007053D | The server is currently disabled. |
| 0x8007053E | The server is currently enabled. |
| 0x8007053F | The value provided was an invalid value for an identifier authority. |
| 0x80070540 | No more memory is available for security information updates. |
| 0x80070541 | The specified attributes are invalid |
| 0x80070542 | Either a required impersonation level was not provided |
| 0x80070543 | Cannot open an anonymous level security token. |
| 0x80070544 | The validation information class requested was invalid. |
| 0x80070545 | The type of the token is inappropriate for its attempted use. |
| 0x80070546 | Unable to perform a security operation on an object which has no associated security. |
| 0x80070547 | Indicates a Windows NT Server could not be contacted or that objects within the domain are protected such that necessary information could not be retrieved. |
| 0x80070548 | The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation. |
| 0x80070549 | The domain was in the wrong state to perform the security operation. |
| 0x8007054A | This operation is only allowed for the Primary Domain Controller of the domain. |
| 0x8007054B | The specified domain did not exist. |
| 0x8007054C | The specified domain already exists. |
| 0x8007054D | An attempt was made to exceed the limit on the number of domains per server. |
| 0x8007054E | Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk. |
| 0x8007054F | The security account database contains an internal inconsistency. |
| 0x80070550 | Generic access types were contained in an access mask which should already be mapped to non-generic types. |
| 0x80070551 | A security descriptor is not in the right format (absolute or self-relative). |
| 0x80070552 | The requested action is restricted for use by logon processes only. |
| 0x80070553 | Cannot start a new logon session with an ID that is already in use. |
| 0x80070554 | A specified authentication package is unknown. |
| 0x80070555 | The logon session is not in a state that is consistent with the requested operation. |
| 0x80070556 | The logon session ID is already in use. |
| 0x80070557 | A logon request contained an invalid logon type value. |
| 0x80070558 | Unable to impersonate via a named pipe until data has been read from that pipe. |
| 0x80070559 | The transaction state of a Registry subtree is incompatible with the requested operation. |
| 0x8007055A | An internal security database corruption has been encountered. |
| 0x8007055B | Cannot perform this operation on built-in accounts. |
| 0x8007055C | Cannot perform this operation on this built-in special group. |
| 0x8007055D | Cannot perform this operation on this built-in special user. |
| 0x8007055E | The user cannot be removed from a group because the group is currently the user’s primary group. |
| 0x8007055F | The token is already in use as a primary token. |
| 0x80070560 | The specified local group does not exist. |
| 0x80070561 | The specified account name is not a member of the local group. |
| 0x80070562 | The specified account name is already a member of the local group. |
| 0x80070563 | The specified local group already exists. |
| 0x80070564 | Logon failure: the user has not been granted the requested logon type at this computer. |
| 0x80070565 | The maximum number of secrets that may be stored in a single system has been exceeded. |
| 0x80070566 | The length of a secret exceeds the maximum length allowed. |
| 0x80070567 | The local security authority database contains an internal inconsistency. |
| 0x80070568 | During a logon attempt |
| 0x80070569 | Logon failure: the user has not been granted the requested logon type at this computer. |
| 0x8007056A | A cross-encrypted password is necessary to change a user password. |
| 0x8007056B | A new member could not be added to a local group because the member does not exist. |
| 0x8007056C | A new member could not be added to a local group because the member has the wrong account type. |
| 0x8007056D | Too many security IDs have been specified. |
| 0x8007056E | A cross-encrypted password is necessary to change this user password. |
| 0x8007056F | Indicates an ACL contains no inheritable components |
| 0x80070570 | The file or directory is corrupt and non-readable. |
| 0x80070571 | The disk structure is corrupt and non-readable. |
| 0x80070572 | There is no user session key for the specified logon session. |
| 0x80070573 | The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept. |
| 0x80070578 | Invalid window handle. |
| 0x80070579 | Invalid menu handle. |
| 0x8007057A | Invalid cursor handle. |
| 0x8007057B | Invalid accelerator table handle. |
| 0x8007057C | Invalid hook handle. |
| 0x8007057D | Invalid handle to a multiple-window position structure. |
| 0x8007057E | Cannot create a top-level child window. |
| 0x8007057F | Cannot find window class. |
| 0x80070580 | Invalid window |
| 0x80070581 | Hot key is already registered. |
| 0x80070582 | Class already exists. |
| 0x80070583 | Class does not exist. |
| 0x80070584 | Class still has open windows. |
| 0x80070585 | Invalid index. |
| 0x80070586 | Invalid icon handle. |
| 0x80070587 | Using private DIALOG window words. |
| 0x80070588 | The listbox identifier was not found. |
| 0x80070589 | No wildcards were found. |
| 0x8007058A | Thread does not have a clipboard open. |
| 0x8007058B | Hot key is not registered. |
| 0x8007058C | The window is not a valid dialog window. |
| 0x8007058D | Control ID not found. |
| 0x8007058E | Invalid message for a combo box because it does not have an edit control. |
| 0x8007058F | The window is not a combo box. |
| 0x80070590 | Height must be less than 256. |
| 0x80070591 | Invalid device context (DC) handle. |
| 0x80070592 | Invalid hook procedure type. |
| 0x80070593 | Invalid hook procedure. |
| 0x80070594 | Cannot set non-local hook without a module handle. |
| 0x80070595 | This hook procedure can only be set globally. |
| 0x80070596 | The journal hook procedure is already installed. |
| 0x80070597 | The hook procedure is not installed. |
| 0x80070598 | Invalid message for single-selection listbox. |
| 0x80070599 | LB_SETCOUNT sent to non-lazy listbox. |
| 0x8007059A | This list box does not support tab stops. |
| 0x8007059B | Cannot destroy object created by another thread. |
| 0x8007059C | Child windows cannot have menus. |
| 0x8007059D | The window does not have a system menu. |
| 0x8007059E | Invalid message box style. |
| 0x8007059F | Invalid system-wide (SPI_*) parameter. |
| 0x800705A0 | Screen already locked. |
| 0x800705A1 | All handles to windows in a multiple-window position structure must have the same parent. |
| 0x800705A2 | The window is not a child window. |
| 0x800705A3 | Invalid GW_* command. |
| 0x800705A4 | Invalid thread identifier. |
| 0x800705A5 | Cannot process a message from a window that is not a multiple document interface (MDI) window. |
| 0x800705A6 | Popup menu already active. |
| 0x800705A7 | The window does not have scroll bars. |
| 0x800705A8 | Scroll bar range cannot be greater than 0x7FFF. |
| 0x800705A9 | Cannot show or remove the window in the way specified. |
| 0x800705AA | Insufficient system resources exist to complete the requested service. |
| 0x800705AB | Insufficient system resources exist to complete the requested service. |
| 0x800705AC | Insufficient system resources exist to complete the requested service. |
| 0x800705AD | Insufficient quota to complete the requested service. |
| 0x800705AE | Insufficient quota to complete the requested service. |
| 0x800705AF | The paging file is too small for this operation to complete. |
| 0x800705B0 | A menu item was not found. |
| 0x800705B1 | Invalid keyboard layout handle. |
| 0x800705B2 | Hook type not allowed. |
| 0x800705B3 | This operation requires an interactive window station. |
| 0x800705B4 | This operation returned because the timeout period expired. |
| 0x800705B5 | Invalid monitor handle. |
| 0x800705DC | The event log file is corrupt. |
| 0x800705DD | No event log file could be opened |
| 0x800705DE | The event log file is full. |
| 0x800705DF | The event log file has changed between reads. |
| 0x800706A4 | The string binding is invalid. |
| 0x800706A5 | The binding handle is not the correct type. |
| 0x800706A6 | The binding handle is invalid. |
| 0x800706A7 | The RPC protocol sequence is not supported. |
| 0x800706A8 | The RPC protocol sequence is invalid. |
| 0x800706A9 | The string universal unique identifier (UUID) is invalid. |
| 0x800706AA | The endpoint format is invalid. |
| 0x800706AB | The network address is invalid. |
| 0x800706AC | No endpoint was found. |
| 0x800706AD | The timeout value is invalid. |
| 0x800706AE | The object universal unique identifier (UUID) was not found. |
| 0x800706AF | The object universal unique identifier (UUID) has already been registered. |
| 0x800706B0 | The type universal unique identifier (UUID) has already been registered. |
| 0x800706B1 | The RPC server is already listening. |
| 0x800706B2 | No protocol sequences have been registered. |
| 0x800706B3 | The RPC server is not listening. |
| 0x800706B4 | The manager type is unknown. |
| 0x800706B5 | The interface is unknown. |
| 0x800706B6 | There are no bindings. |
| 0x800706B7 | There are no protocol sequences. |
| 0x800706B8 | The endpoint cannot be created. |
| 0x800706B9 | Not enough resources are available to complete this operation. |
| 0x800706BA | The RPC server is unavailable. |
| 0x800706BB | The RPC server is too busy to complete this operation. |
| 0x800706BC | The network options are invalid. |
| 0x800706BD | There is not a remote procedure call active in this thread. |
| 0x800706BE | The remote procedure call failed. |
| 0x800706BF | The remote procedure call failed and did not execute. |
| 0x800706C0 | A remote procedure call (RPC) protocol error occurred. |
| 0x800706C2 | The transfer syntax is not supported by the RPC server. |
| 0x800706C4 | The universal unique identifier (UUID) type is not supported. |
| 0x800706C5 | The tag is invalid. |
| 0x800706C6 | The array bounds are invalid. |
| 0x800706C7 | The binding does not contain an entry name. |
| 0x800706C8 | The name syntax is invalid. |
| 0x800706C9 | The name syntax is not supported. |
| 0x800706CB | No network address is available to use to construct a universal unique identifier (UUID). |
| 0x800706CC | The endpoint is a duplicate. |
| 0x800706CD | The authentication type is unknown. |
| 0x800706CE | The maximum number of calls is too small. |
| 0x800706CF | The string is too long. |
| 0x800706D0 | The RPC protocol sequence was not found. |
| 0x800706D1 | The procedure number is out of range. |
| 0x800706D2 | The binding does not contain any authentication information. |
| 0x800706D3 | The authentication service is unknown. |
| 0x800706D4 | The authentication level is unknown. |
| 0x800706D5 | The security context is invalid. |
| 0x800706D6 | The authorization service is unknown. |
| 0x800706D7 | The entry is invalid. |
| 0x800706D8 | The server endpoint cannot perform the operation. |
| 0x800706D9 | There are no more endpoints available from the endpoint mapper. |
| 0x800706DA | No interfaces have been exported. |
| 0x800706DB | The entry name is incomplete. |
| 0x800706DC | The version option is invalid. |
| 0x800706DD | There are no more members. |
| 0x800706DE | There is nothing to unexport. |
| 0x800706DF | The interface was not found. |
| 0x800706E0 | The entry already exists. |
| 0x800706E1 | The entry is not found. |
| 0x800706E2 | The name service is unavailable. |
| 0x800706E3 | The network address family is invalid. |
| 0x800706E4 | The requested operation is not supported. |
| 0x800706E5 | No security context is available to allow impersonation. |
| 0x800706E6 | An internal error occurred in a remote procedure call (RPC). |
| 0x800706E7 | The RPC server attempted an integer division by zero. |
| 0x800706E8 | An addressing error occurred in the RPC server. |
| 0x800706E9 | A floating-point operation at the RPC server caused a division by zero. |
| 0x800706EA | A floating-point underflow occurred at the RPC server. |
| 0x800706EB | A floating-point overflow occurred at the RPC server. |
| 0x800706EC | The list of RPC servers available for the binding of auto handles has been exhausted. |
| 0x800706ED | Unable to open the character translation table file. |
| 0x800706EE | The file containing the character translation table has fewer than 512 bytes. |
| 0x800706EF | A null context handle was passed from the client to the host during a remote procedure call. |
| 0x800706F1 | The context handle changed during a remote procedure call. |
| 0x800706F2 | The binding handles passed to a remote procedure call do not match. |
| 0x800706F3 | The stub is unable to get the remote procedure call handle. |
| 0x800706F4 | A null reference pointer was passed to the stub. |
| 0x800706F5 | The enumeration value is out of range. |
| 0x800706F6 | The byte count is too small. |
| 0x800706F7 | The stub received bad data. |
| 0x800706F8 | The supplied user buffer is not valid for the requested operation. |
| 0x800706F9 | The disk media is not recognized. |
| 0x800706FA | The workstation does not have a trust secret. |
| 0x800706FB | The SAM database on the Windows NT Server does not have a computer account for this workstation trust relationship. |
| 0x800706FC | The trust relationship between the primary domain and the trusted domain failed. |
| 0x800706FD | The trust relationship between this workstation and the primary domain failed. |
| 0x800706FE | The network logon failed. |
| 0x800706FF | A remote procedure call is already in progress for this thread. |
| 0x80070700 | An attempt was made to logon |
| 0x80070701 | The user’s account has expired. |
| 0x80070702 | The redirector is in use and cannot be unloaded. |
| 0x80070703 | The specified printer driver is already installed. |
| 0x80070704 | The specified port is unknown. |
| 0x80070705 | The printer driver is unknown. |
| 0x80070706 | The print processor is unknown. |
| 0x80070707 | The specified separator file is invalid. |
| 0x80070708 | The specified priority is invalid. |
| 0x80070709 | The printer name is invalid. |
| 0x8007070A | The printer already exists. |
| 0x8007070B | The printer command is invalid. |
| 0x8007070C | The specified data type is invalid. |
| 0x8007070D | The Environment specified is invalid. |
| 0x8007070E | There are no more bindings. |
| 0x8007070F | The account used is an interdomain trust account. |
| 0x80070710 | The account used is a Computer Account. |
| 0x80070711 | The account used is an server trust account. |
| 0x80070712 | The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain. |
| 0x80070713 | The server is in use and cannot be unloaded. |
| 0x80070714 | The specified image file did not contain a resource section. |
| 0x80070715 | The specified resource type can not be found in the image file. |
| 0x80070716 | The specified resource name can not be found in the image file. |
| 0x80070717 | The specified resource language ID cannot be found in the image file. |
| 0x80070718 | Not enough quota is available to process this command. |
| 0x80070719 | No interfaces have been registered. |
| 0x8007071A | The server was altered while processing this call. |
| 0x8007071B | The binding handle does not contain all required information. |
| 0x8007071C | Communications failure. |
| 0x8007071D | The requested authentication level is not supported. |
| 0x8007071E | No principal name registered. |
| 0x8007071F | The error specified is not a valid Windows NT RPC error code. |
| 0x80070720 | A UUID that is valid only on this computer has been allocated. |
| 0x80070721 | A security package specific error occurred. |
| 0x80070722 | Thread is not cancelled. |
| 0x80070723 | Invalid operation on the encoding/decoding handle. |
| 0x80070724 | Incompatible version of the serializing package. |
| 0x80070725 | Incompatible version of the RPC stub. |
| 0x80070726 | The idl pipe object is invalid or corrupted. |
| 0x80070727 | The operation is invalid for a given idl pipe object. |
| 0x80070728 | The idl pipe version is not supported. |
| 0x8007076A | The group member was not found. |
| 0x8007076B | The endpoint mapper database could not be created. |
| 0x8007076C | The object universal unique identifier (UUID) is the nil UUID. |
| 0x8007076D | The specified time is invalid. |
| 0x8007076E | The specified Form name is invalid. |
| 0x8007076F | The specified Form size is invalid |
| 0x80070770 | The specified Printer handle is already being waited on |
| 0x80070771 | The specified Printer has been deleted |
| 0x80070772 | The state of the Printer is invalid |
| 0x80070773 | The user must change his password before he logs on the first time. |
| 0x80070774 | Could not find the domain controller for this domain. |
| 0x80070775 | The referenced account is currently locked out and may not be logged on to. |
| 0x80070776 | The object exporter specified was not found. |
| 0x80070777 | The object specified was not found. |
| 0x80070778 | The object resolver set specified was not found. |
| 0x80070779 | Some data remains to be sent in the request buffer. |
| 0x800707D0 | The pixel format is invalid. |
| 0x800707D1 | The specified driver is invalid. |
| 0x800707D2 | The window style or class attribute is invalid for this operation. |
| 0x800707D3 | The requested metafile operation is not supported. |
| 0x800707D4 | The requested transformation operation is not supported. |
| 0x800707D5 | The requested clipping operation is not supported. |
| 0x8007083C | The network connection was made successfully but the user had to be prompted for a password other than the one originally specified. |
| 0x8007089A | The specified username is invalid. |
| 0x800708CA | This network connection does not exist. |
| 0x80070961 | This network connection has files open or requests pending. |
| 0x80070962 | Active connections still exist. |
| 0x80070964 | The device is in use by an active process and cannot be disconnected. |
| 0x80070BB8 | The specified print monitor is unknown. |
| 0x80070BB9 | The specified printer driver is currently in use. |
| 0x80070BBA | The spool file was not found. |
| 0x80070BBB | A StartDocPrinter call was not issued. |
| 0x80070BBC | An AddJob call was not issued. |
| 0x80070BBD | The specified print processor has already been installed. |
| 0x80070BBE | The specified print monitor has already been installed. |
| 0x80070BBF | The specified print monitor does not have the required functions. |
| 0x80070BC0 | The specified print monitor is currently in use. |
| 0x80070BC1 | The requested operation is not allowed when there are jobs queued to the printer. |
| 0x80070BC2 | The requested operation is successful. |
| 0x80070BC3 | The requested operation is successful. |
| 0x80070FA0 | WINS encountered an error while processing the command. |
| 0x80070FA1 | The local WINS can not be deleted. |
| 0x80070FA2 | The importation from the file failed. |
| 0x80070FA3 | The backup Failed. |
| 0x80070FA4 | The backup Failed. |
| 0x80070FA5 | The name does not exist in the WINS database. |
| 0x80070FA6 | Replication with a non-configured partner is not allowed. |
| 0x80071004 | The DHCP client has obtained an IP address that is already in use on the network. |
| 0x80071389 | The cluster resource cannot be moved to another group because other resources are dependent on it. |
| 0x8007138A | The cluster resource dependency cannot be found. |
| 0x8007138B | The cluster resource cannot be made dependent on the specified resource because it is already dependent. |
| 0x8007138C | The cluster resource is not online. |
| 0x8007138D | A cluster node is not available for this operation. |
| 0x8007138E | The cluster resource is not available. |
| 0x8007138F | The cluster resource could not be found. |
| 0x80071390 | The cluster is being shut down. |
| 0x80071391 | A cluster node cannot be evicted from the cluster while it is online. |
| 0x80071392 | The object already exists. |
| 0x80071393 | The object is already in the list. |
| 0x80071394 | The cluster group is not available for any new requests. |
| 0x80071395 | The cluster group could not be found. |
| 0x80071396 | The operation could not be completed because the cluster group is not online. |
| 0x80071397 | The cluster node is not the owner of the resource. |
| 0x80071398 | The cluster node is not the owner of the group. |
| 0x80071399 | The cluster resource could not be created in the specified resource monitor. |
| 0x8007139A | The cluster resource could not be brought online by the resource monitor. |
| 0x8007139B | The operation could not be completed because the cluster resource is online. |
| 0x8007139C | The cluster resource could not be deleted or brought offline because it is the quorum resource. |
| 0x8007139D | The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource. |
| 0x8007139E | The cluster software is shutting down. |
| 0x8007139F | The group or resource is not in the correct state to perform the requested operation. |
| 0x800713A0 | The properties were stored but not all changes will take effect until the next time the resource is brought online. |
| 0x800713A1 | The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class. |
| 0x800713A2 | The cluster resource could not be deleted since it is a core resource. |
| 0x800713A3 | The quorum resource failed to come online. |
| 0x800713A4 | The quorum log could not be created or mounted successfully. |
| 0x800713A5 | The cluster log is corrupt. |
| 0x800713A6 | The record could not be written to the cluster log since it exceeds the maximum size. |
| 0x800713A7 | The cluster log exceeds its maximum size. |
| 0x800713A8 | No checkpoint record was found in the cluster log. |
| 0x800713A9 | The minimum required disk space needed for logging is not available. |
| 0x800717E6 | The list of servers for this workgroup is not currently available |
| 0x80080001 | Attempt to create a class object failed |
| 0x80080002 | OLE service could not bind object |
| 0x80080003 | RPC communication failed with OLE service |
| 0x80080004 | Bad path to object |
| 0x80080005 | Server execution failed |
| 0x80080006 | OLE service could not communicate with the object server |
| 0x80080007 | Moniker path could not be normalized |
| 0x80080008 | Object server is stopping when OLE service contacts it |
| 0x80080009 | An invalid root block pointer was specified |
| 0x80080010 | An allocation chain contained an invalid link pointer |
| 0x80080011 | The requested allocation size was too large |
| 0x80090001 | Bad UID. |
| 0x80090002 | Bad Hash. |
| 0x80090003 | Bad Key. |
| 0x80090004 | Bad Length. |
| 0x80090005 | Bad Data. |
| 0x80090006 | Invalid Signature. |
| 0x80090007 | Bad Version of provider. |
| 0x80090008 | Invalid algorithm specified. |
| 0x80090009 | Invalid flags specified. |
| 0x8009000A | Invalid type specified. |
| 0x8009000B | Key not valid for use in specified state. |
| 0x8009000C | Hash not valid for use in specified state. |
| 0x8009000D | Key does not exist. |
| 0x8009000E | Insufficient memory available for the operation. |
| 0x8009000F | Object already exists. |
| 0x80090010 | Access denied. |
| 0x80090011 | Object was not found. |
| 0x80090012 | Data already encrypted. |
| 0x80090013 | Invalid provider specified. |
| 0x80090014 | Invalid provider type specified. |
| 0x80090015 | Provider’s public key is invalid. |
| 0x80090016 | Keyset does not exist |
| 0x80090017 | Provider type not defined. |
| 0x80090018 | Provider type as registered is invalid. |
| 0x80090019 | The keyset is not defined. |
| 0x8009001A | Keyset as registered is invalid. |
| 0x8009001B | Provider type does not match registered value. |
| 0x8009001C | The digital signature file is corrupt. |
| 0x8009001D | Provider DLL failed to initialize correctly. |
| 0x8009001E | Provider DLL could not be found. |
| 0x8009001F | The Keyset parameter is invalid. |
| 0x80090020 | An internal error occurred. |
| 0x80090021 | A base error occurred. |
| 0x80091001 | An error was encountered doing a cryptographic message operation. |
| 0x80091002 | The cryptographic algorithm is unknown. |
| 0x80091003 | The object identifier is badly formatted. |
| 0x80091004 | The message type is invalid. |
| 0x80091005 | The message is not encoded as expected. |
| 0x80091006 | The message does not contain an expected authenticated attribute. |
| 0x80091007 | The hash value is not correct. |
| 0x80091008 | The index value is not valid. |
| 0x80091009 | The message content has already been decrypted. |
| 0x8009100A | The message content has not been decrypted yet. |
| 0x8009100B | The enveloped-data message does not contain the specified recipient. |
| 0x8009100C | The control type is not valid. |
| 0x8009100D | The issuer and/or serial number are/is not valid. |
| 0x8009100E | The original signer is not found. |
| 0x8009100F | The message does not contain the requested attributes. |
| 0x80092001 | The length specified for the output data was insufficient. |
| 0x80092002 | An error was encountered while encoding or decoding. |
| 0x80092003 | An error occurred while reading or writing to the file |
| 0x80092004 | The object or property wasn’t found |
| 0x80092005 | The object or property already exists |
| 0x80092006 | No provider was specified for the store or object |
| 0x80092007 | The specified certificate is self signed. |
| 0x80092008 | The previous certificate or CRL context was deleted. |
| 0x80092009 | No match when trying to find the object. |
| 0x8009200A | The type of the cryptographic message being decoded is different than what was expected. |
| 0x8009200B | The certificate doesn’t have a private key property |
| 0x8009200C | No certificate was found having a private key property to use for decrypting. |
| 0x8009200E | The signed message doesn’t have a signer for the specified signer index |
| 0x8009200F | Final closure is pending until additional frees or closes. |
| 0x80092010 | The certificate or signature has been revoked |
| 0x80092011 | No .dll or exported function was found to verify revocation. |
| 0x80092012 | The called function wasn’t able to do a revocation check on the certificate or signature. |
| 0x80092013 | Since the revocation server was offline |
| 0x80092020 | The string contains a non-numeric character. |
| 0x80092021 | The string contains a non-printable character. |
| 0x80092022 | The string contains a character not in the 7 bit ASCII character set. |
| 0x80093000 | OSS Certificate encode/decode error code base. |
| 0x800A0E7B | Cannot change the ActiveConnection property of a Recordset object which has a Command object as its source. |
| 0x800A0E94 | Server cannot complete the operation. |
| 0x800A0EA4 | Connection was denied. New connection you requested has different characteristics than the one already in use. |
| 0X800A0C94 | Supplied provider is different from the one already in use. |
| 0x800A0E8C | Data value cannot be converted for reasons other than sign mismatch or data overflow. For example |
| 0x800A0E8D | Data value cannot be set or retrieved because the field data type was unknown |
| 0x800A0EA3 | Operation requires a valid ParentCatalog. |
| 0x800A0E8E | Record does not contain this field. |
| 0x800A0D5D | Application uses a value of the wrong type for the current operation. |
| 0x800A0E89 | Data value is too large to be represented by the field data type. |
| 0x800A0E9A | URL of the object to be deleted is outside the scope of the current record. |
| 0x800A0EA6 | Provider does not support sharing restrictions. |
| 0x800A0EA7 | Provider does not support the requested kind of sharing restriction. |
| 0x800A0CB3 | Object or provider is not capable of performing requested operation. |
| 0x800A0EA5 | Fields update failed. For further information |
| 0x800A0C93 | Operation is not allowed in this context. |
| 0x800A0E87 | Data value conflicts with the integrity constraints of the field. |
| 0x800A0CAE | Connection object cannot be explicitly closed while in a transaction. |
| 0x800A0BB9 | Arguments are of the wrong type |
| 0x800A0E7D | The connection cannot be used to perform this operation. It is either closed or invalid in this context. |
| 0x800A0E7C | Parameter object is improperly defined. Inconsistent or incomplete information was provided. |
| 0x800A0E82 | Coordinating transaction is invalid or has not started. |
| 0x800A0E91 | URL contains invalid characters. Make sure the URL is typed correctly. |
| 0x800A0CC1 | Item cannot be found in the collection corresponding to the requested name or ordinal. |
| 0x800A0BCD | Either BOF or EOF is True |
| 0x800A0E83 | Operation cannot be performed while not executing. |
| 0x800A0E7E | Operation cannot be performed while processing event. |
| 0x800A0E78 | Operation is not allowed when the object is closed. |
| 0x800A0D27 | Object is already in collection. Cannot append. |
| 0x800A0D5C | Object is no longer valid. |
| 0x800A0E79 | Operation is not allowed when the object is open. |
| 0x800A0BBA | File could not be opened. |
| 0x800A0E80 | Operation has been cancelled by the user. |
| 0x800A0E96 | Operation cannot be performed. Provider cannot obtain enough storage space. |
| 0x800A0E88 | Insufficient permission prevents writing to the field. |
| 0x800A0BB8 | Provider failed to perform the requested operation. |
| 0x800A0E7A | Provider cannot be found. It may not be properly installed. |
| 0x800A0BBB | File could not be read. |
| 0x800A0E93 | Copy operation cannot be performed. Object named by destination URL already exists. Specify adCopyOverwrite to replace the object. |
| 0x800A0E92 | Object represented by the specified URL is locked by one or more other processes. Wait until the process has finished and attempt the operation again. |
| 0x800A0E97 | Source or destination URL is outside the scope of the current record. |
| 0x800A0E8A | Data value conflicts with the data type or constraints of the field. |
| 0x800A0E8B | Conversion failed because the data value was signed and the field data type used by the provider was unsigned. |
| 0x800A0E81 | Operation cannot be performed while connecting asynchronously. |
| 0x800A0E7F | Operation cannot be performed while executing asynchronously. |
| 0x800A0E90 | Permissions are insufficient to access tree or subtree. |
| 0x800A0E98 | Operation failed to complete and the status is unavailable. The field may be unavailable or the operation was not attempted. |
| 0x800A0E84 | Safety settings on this computer prohibit accessing a data source on another domain. |
| 0x800A0E8F | Either the source URL or the parent of the destination URL does not exist. |
| 0x800A0E99 | Record named by this URL does not exist. |
8.sccmtspsi error codes
| Code | Details |
|---|---|
| ERR180.352 | The option 'Allow deployment to only approved hardware device models ' is set to 'True' and the hardware device model is not in the approved hardware list.Identify the value of the Model property of the 'win32_computersystem' wmi class and add it to approved hardware list in the configuration file. |
| ERR181 | Unknown login error. Reason for the error could not be determined. Identify where in the process the failure happened. |
| ERR175, ERR177 | Content transfer location / profiles location is not set in the configuration file. |
| ERR173, ERR174 | Logging location not set in the configuration file. |
| ERR169, ERR169.2 | Operating system disk volume label not set in the configuration file. |
| ERR168, ERR168.1 | OS disk number not set in the configuration file. |
| ERR178, ERR178.1, ERR179 | The USMT rule file(s) is/are not located in the USMT sub-folder of the realm configuration directory. If it is there then check the permissions for the realm broker account. |
| ERR161.2, ERR161.3, ERR161.4 | The USMT config file (config.xml or something.xml) is not located in the USMT sub-folder of the realm configuration directory. If it is there then check the permissions for the realm broker account. |
| ERR161.0, ERR161.1 | Could not connect to the USMT sub folder within the realm configuration directory. Check if the realm broker account has all the documented permissions set. |
| ERR141, ERR141.1, ERR146, ERR146.1 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR149, ERR147, ERR147.1, ERR147.4 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR147.5, ERR147.8, ERR147.9, ERR147.2 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR147.3, ERR147.6, ERR147.7, ERR147.10 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR147.11, ERR148, ERR148.1, ERR149 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR149.1, ERR150.2, ERR150.0, ERR150.3 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR156, ERR157, ERR158, ERR159, ERR160 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR160.1, ERR164, ERR164.1, ERR165, ERR165.1 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR166, ERR167, ERR170, ERR171, ERR172, ERR172.1 | There is a problem with the configuration file for the realm. Please recreate the configuration file. |
| ERR140, ERR140.1, ERR140.2 | Configuration file version mismatch with sccmtspsi application. Are you using a old configuration file. Try recreating the configuration file. |
| ERR123 | License token not available for the operator. |
| ERR121 | Has the operators account been deleted and recreated. The license token has to be re-issued. Charges will apply. Please contact us. |
| ERR119 | License token not issued for use with the domain. Has the domain name changed? If yes, The license token has to be re-issued. Charges will apply. Please contact us. |
| ERR118 | Has the operators company which is the active directory attribute [company] changed? If yes, The license token has to be re-issued. Charges will apply. Please contact us. |
| ERR117 | Has the operators country which is the active directory attribute [co] changed? If yes, The license token has to be re-issued. Charges will apply. Please contact us. |
| ERR116.0 | Has the operators city which is the active directory attribute [l] changed? If yes, The license token has to be re-issued. Charges will apply. Please contact us. |
| ERR115 | The license token is not assigned to be used with the Realm name. |
| ERR114.1 | Has the operators active directory [mail] attribute changed? If yes, The license token has to be re-issued. Charges will apply. Please contact us. |
| ERR114 | Email address associated with the token is incorrect. Did this token work before? |
| ERR112 | Has the operators active directory attribute [givenname] changed. If yes, The license token has to be re-issued. Charges will apply. Please contact us. |
| ERR108.3 | The license token has expired. Please buy a new token. |
| ERR108.21 | The token is not licensed to be used with the running version of sccmtspsi. |
| ERR108.12,ERR108.13,ERR108.2 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR108.22,ERR108.31,ERR108.4 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR108.41,ERR108.5,ERR108.51 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR108.6,ERR108.61,ERR108.7 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR108.8,ERR108.9,ERR108.10 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR112.1,ERR114.2,ERR115.2 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR116.1,ERR117.1,ERR118.1 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR119.1,ERR121.1,ERR122.2 | The license token failed its authenticity check / Validation failed. Has it been tampered? Try using the token that we originally sent you. |
| ERR108.1, ERR108.11 | The license token is either corrupt or tampered. |
| ERR108.03, ERR108.05 | Error acquiring license token from the token repository. |
| ERR108.02, ERR108.04 | No demo or paid tokens were available in the token repository. |
| ERR108.0, ERR108.01 | Could not connect to the token repository. Check if the realm broker account has all the documented permissions to the token sub directory inside the realm configuration directory. |
| ERR105.41, ERR105.42 | The realm limiting collection is either not setup or the realm broker account does not have access to it. |
| ERR105.1, ERR105.2, ERR105.31, ERR105.32 | SCCM deployment collection for the realm could not be found. If it exist, check if the realm broker account has the necessary permissions to the deployment collection. |
| ERR105 | The realm broker account could not connect to the SCCM server. |
| ERR106.14, ERR106.15 | [objectGUID] attribute of the Domain could not identified. |
| ERR139, ERR139.1 | The realm broker account is either deleted, or its password is incorrectly set in the configuration file or the broker account is locked. |
| ERR138.1, ERR138.2 | The configuration file [sccmtspsi.config] is either corrupted or tampered. Please recreate the configuration file. |
| ERR137, ERR137.1, ERR137.2 | Check if the [sccmtspsi.config] file is there in the realm configuration directory. If yes, check the operators effective permission to the file. Refer to the documentation for setup instructions. |
| ERR107, ERR107.1 | Configuration drive connect error. Check if the permissions are setup as documented for the sccmtspsi configuration directory for the realm. |
| ERR106.18, ERR106.19 | [objectGUID] attribute not identified for the operators active directory account. |
| ERR106.13 | Error reading country attribute of the operators active directory account. |
| ERR106.12 | [co] country attribute is not set in the operators active directory account. |
| ERR106.11 | Error reading [l] which is the city attribute of the operators active directory account. |
| ERR106.10 | [l] which is the city attribute is not set for the operators active directory account. |
| ERR106.9 | Error reading [company] attribute of the operators active directory account. |
| ERR106.8 | [company] attribute not set for the operators active directory account. |
| ERR106.64 | Error reading [givenName] attribute of the operators active directory account. |
| ERR106.63 | [givenname] attribute not set for the operators active directory account. |
| ERR106.62 | Error reading [displayName] attribute of the operators active directory account. |
| ERR106.61 | [displayname] attribute not set for the operators active directory account. |
| ERR106.5 | Error reading [mail] attribute of the operator from active directory. |
| ERR106.4 | The operators email address assigned to [mail] attribute in active directory has an incorrect format. |
| ERR106.3 | [mail] attribute not set in the operators active directory account. is a required attribute. |
| ERR104.3, ERR104.4 | The login account is not a part of the Realm security group. |
| ERR104, ERR104.1, ERR104.2 | Could not authenticate to the domain with the supplied credentials. |
| ERR103 | Domain should respond to a ping request. Is ICMP turned off? or blocked in the firewall. |
| ERR100.3 | Configuration error. Please try again. Something failed in the login sequence. |
| ERR100 | No IP address assigned. Check your network connection and restart. |
| ERR090 | Startup failed. Check details corresponding to error ERR096, ERR097, ERR095. Restart and try again. |
| ERR098 | Realm name should be 3 characters in length. |
| ERR096, ERR097 | One or more input parameters missing or incorrect or null. Please refer to our documentation page => http://5pj.238.myftpupload.com/documentation/ |
| ERR095 | The sccmtspsi application interface should only be run from within Windows pre-execution environment downloaded from www.sccmtspsi.com. Please read the documentation to further your understanding on how sccmtspsi should be initiated from within WINPE. |





