#include "stdafx.h"
#include "WUErrors.h"
#include <wuerror.h>

// TODO: There needs to be a better way to do this other than hardcoding all these English strings...
HResultMessage WUErrorMessages[] = {
	{ WU_S_SERVICE_STOP, L"Windows Update Agent was stopped successfully." },
	{ WU_S_SELFUPDATE, L"Windows Update Agent updated itself." },
	{ WU_S_UPDATE_ERROR, L"Operation completed successfully but there were errors applying the updates.." },
	{ WU_S_MARKED_FOR_DISCONNECT, L"A callback was marked to be disconnected later because the request to disconnect the operation came while a callback was executing." },
	{ WU_S_REBOOT_REQUIRED, L"The system must be restarted to complete installation of the update." },
	{ WU_S_ALREADY_INSTALLED, L"The update to be installed is already installed on the system." },
	{ WU_S_ALREADY_UNINSTALLED, L"The update to be removed is not installed on the system." },
	{ WU_S_ALREADY_DOWNLOADED, L"The update to be downloaded has already been downloaded." },
	{ WU_E_NO_SERVICE, L"Windows Update Agent was unable to provide the service." },
	{ WU_E_MAX_CAPACITY_REACHED, L"The maximum capacity of the service was exceeded." },
	{ WU_E_UNKNOWN_ID, L"An ID cannot be found." },
	{ WU_E_NOT_INITIALIZED, L"The object could not be initialized." },
	{ WU_E_RANGEOVERLAP, L"The update handler requested a byte range overlapping a previously requested range." },
	{ WU_E_TOOMANYRANGES, L"The requested number of byte ranges exceeds the maximum number (2^31 - 1)." },
	{ WU_E_INVALIDINDEX, L"The index to a collection was invalid." },
	{ WU_E_ITEMNOTFOUND, L"The key for the item queried could not be found." },
	{ WU_E_OPERATIONINPROGRESS, L"Another conflicting operation was in progress. Some operations such as installation cannot be performed twice simultaneously." },
	{ WU_E_COULDNOTCANCEL, L"Cancellation of the operation was not allowed." },
	{ WU_E_CALL_CANCELLED, L"Operation was cancelled." },
	{ WU_E_NOOP, L"No operation was required." },
	{ WU_E_XML_MISSINGDATA, L"Windows Update Agent could not find required information in the update's XML data." },
	{ WU_E_XML_INVALID, L"Windows Update Agent found invalid information in the update's XML data." },
	{ WU_E_CYCLE_DETECTED, L"Circular update relationships were detected in the metadata." },
	{ WU_E_TOO_DEEP_RELATION, L"Update relationships too deep to evaluate were evaluated." },
	{ WU_E_INVALID_RELATIONSHIP, L"An invalid update relationship was detected." },
	{ WU_E_REG_VALUE_INVALID, L"An invalid registry value was read." },
	{ WU_E_DUPLICATE_ITEM, L"Operation tried to add a duplicate item to a list." },
	{ WU_E_INSTALL_NOT_ALLOWED, L"Operation tried to install while another installation was in progress or the system was pending a mandatory restart." },
	{ WU_E_NOT_APPLICABLE, L"Operation was not performed because there are no applicable updates." },
	{ WU_E_NO_USERTOKEN, L"Operation failed because a required user token is missing." },
	{ WU_E_EXCLUSIVE_INSTALL_CONFLICT, L"An exclusive update cannot be installed with other updates at the same time." },
	{ WU_E_POLICY_NOT_SET, L"A policy value was not set." },
	{ WU_E_SELFUPDATE_IN_PROGRESS, L"The operation could not be performed because the Windows Update Agent is self-updating." },
	{ WU_E_INVALID_UPDATE, L"An update contains invalid metadata." },
	{ WU_E_SERVICE_STOP, L"Operation did not complete because the service or system was being shut down." },
	{ WU_E_NO_CONNECTION, L"Operation did not complete because the network connection was unavailable." },
	{ WU_E_NO_INTERACTIVE_USER, L"Operation did not complete because there is no logged-on interactive user." },
	{ WU_E_TIME_OUT, L"Operation did not complete because it timed out." },
	{ WU_E_ALL_UPDATES_FAILED, L"Operation failed for all the updates." },
	{ WU_E_EULAS_DECLINED, L"The license terms for all updates were declined." },
	{ WU_E_NO_UPDATE, L"There are no updates." },
	{ WU_E_USER_ACCESS_DISABLED, L"Group Policy settings prevented access to Windows Update." },
	{ WU_E_INVALID_UPDATE_TYPE, L"The type of update is invalid." },
	{ WU_E_URL_TOO_LONG, L"The URL exceeded the maximum length." },
	{ WU_E_UNINSTALL_NOT_ALLOWED, L"The update could not be uninstalled because the request did not originate from a WSUS server." },
	{ WU_E_INVALID_PRODUCT_LICENSE, L"Search may have missed some updates before there is an unlicensed application on the system." },
	{ WU_E_MISSING_HANDLER, L"A component required to detect applicable updates was missing." },
	{ WU_E_LEGACYSERVER, L"An operation did not complete because it requires a newer version of server." },
	{ WU_E_BIN_SOURCE_ABSENT, L"A delta-compressed update could not be installed because it required the source." },
	{ WU_E_SOURCE_ABSENT, L"A full-file update could not be installed because it required the source." },
	{ WU_E_WU_DISABLED, L"Access to an unmanaged server is not allowed." },
	{ WU_E_CALL_CANCELLED_BY_POLICY, L"Operation did not complete because the DisableWindowsUpdateAccess policy was set." },
	{ WU_E_INVALID_PROXY_SERVER, L"The format of the proxy list was invalid." },
	{ WU_E_INVALID_FILE, L"The file is in the wrong format." },
	{ WU_E_INVALID_CRITERIA, L"The search criteria string was invalid." },
	{ WU_E_EULA_UNAVAILABLE, L"License terms could not be downloaded." },
	{ WU_E_DOWNLOAD_FAILED, L"Update failed to download." },
	{ WU_E_UPDATE_NOT_PROCESSED, L"The update was not processed." },
	{ WU_E_INVALID_OPERATION, L"The object's current state did not allow the operation." },
	{ WU_E_NOT_SUPPORTED, L"The functionality for the operation is not supported." },
	{ WU_E_WINHTTP_INVALID_FILE, L"The downloaded file has an unexpected content type." },
	{ WU_E_TOO_MANY_RESYNC, L"Agent is asked by server to resync too many times." },
	{ WU_E_NO_SERVER_CORE_SUPPORT, L"WUA API method does not run on Server Core installation." },
	{ WU_E_SYSPREP_IN_PROGRESS, L"Service is not available while sysprep is running." },
	{ WU_E_UNKNOWN_SERVICE, L"The update service is no longer registered with AU." },
	{ WU_E_UNEXPECTED, L"An operation failed due to reasons not covered by another error code." },
	{ WU_E_MSI_WRONG_VERSION, L"Search may have missed some updates because the Windows Installer is less than version 3.1." },
	{ WU_E_MSI_NOT_CONFIGURED, L"Search may have missed some updates because the Windows Installer is not configured." },
	{ WU_E_MSP_DISABLED, L"Search may have missed some updates because policy has disabled Windows Installer patching." },
	{ WU_E_MSI_WRONG_APP_CONTEXT, L"An update could not be applied because the application is installed per-user." },
	{ WU_E_MSP_UNEXPECTED, L"Search may have missed some updates because there was a failure of the Windows Installer." },
	{ WU_E_UH_REMOTEUNAVAILABLE, L"A request for a remote update handler could not be completed because no remote process is available." },
	{ WU_E_UH_LOCALONLY, L"A request for a remote update handler could not be completed because the handler is local only." },
	{ WU_E_UH_UNKNOWNHANDLER, L"A request for an update handler could not be completed because the handler could not be recognized." },
	{ WU_E_UH_REMOTEALREADYACTIVE, L"A remote update handler could not be created because one already exists." },
	{ WU_E_UH_DOESNOTSUPPORTACTION, L"A request for the handler to install (uninstall) an update could not be completed because the update does not support install (uninstall)." },
	{ WU_E_UH_WRONGHANDLER, L"An operation did not complete because the wrong handler was specified." },
	{ WU_E_UH_INVALIDMETADATA, L"A handler operation could not be completed because the update contains invalid metadata." },
	{ WU_E_UH_INSTALLERHUNG, L"An operation could not be completed because the installer exceeded the time limit." },
	{ WU_E_UH_OPERATIONCANCELLED, L"An operation being done by the update handler was cancelled." },
	{ WU_E_UH_BADHANDLERXML, L"An operation could not be completed because the handler-specific metadata is invalid." },
	{ WU_E_UH_CANREQUIREINPUT, L"A request to the handler to install an update could not be completed because the update requires user input." },
	{ WU_E_UH_INSTALLERFAILURE, L"The installer failed to install (uninstall) one or more updates." },
	{ WU_E_UH_FALLBACKTOSELFCONTAINED, L"The update handler should download self-contained content rather than delta-compressed content for the update." },
	{ WU_E_UH_NEEDANOTHERDOWNLOAD, L"The update handler did not install the update because it needs to be downloaded again." },
	{ WU_E_UH_NOTIFYFAILURE, L"The update handler failed to send notification of the status of the install (uninstall) operation." },
	{ WU_E_UH_INCONSISTENT_FILE_NAMES, L"The file names contained in the update metadata and in the update package are inconsistent." },
	{ WU_E_UH_FALLBACKERROR, L"The update handler failed to fall back to the self-contained content." },
	{ WU_E_UH_TOOMANYDOWNLOADREQUESTS, L"The update handler has exceeded the maximum number of download requests." },
	{ WU_E_UH_UNEXPECTEDCBSRESPONSE, L"The update handler has received an unexpected response from CBS." },
	{ WU_E_UH_BADCBSPACKAGEID, L"The update metadata contains an invalid CBS package identifier." },
	{ WU_E_UH_POSTREBOOTSTILLPENDING, L"The post-reboot operation for the update is still in progress." },
	{ WU_E_UH_POSTREBOOTRESULTUNKNOWN, L"The result of the post-reboot operation for the update could not be determined." },
	{ WU_E_UH_POSTREBOOTUNEXPECTEDSTATE, L"The state of the update after its post-reboot operation has completed is unexpected." },
	{ WU_E_UH_NEW_SERVICING_STACK_REQUIRED, L"The operating system servicing stack must be updated before this update is downloaded or installed." },
	{ WU_E_UH_UNEXPECTED, L"An update handler error not covered by another WU_E_UH_* code." },
	{ WU_E_INSTALLATION_RESULTS_UNKNOWN_VERSION, L"The results of download and installation could not be read from the registry due to an unrecognized data format version." },
	{ WU_E_INSTALLATION_RESULTS_INVALID_DATA, L"The results of download and installation could not be read from the registry due to an invalid data format." },
	{ WU_E_INSTALLATION_RESULTS_NOT_FOUND, L"The results of download and installation are not available; the operation may have failed to start." },
	{ WU_E_TRAYICON_FAILURE, L"A failure occurred when trying to create an icon in the taskbar notification area." },
	{ WU_E_NON_UI_MODE, L"Unable to show UI when in non-UI mode; WU client UI modules may not be installed." },
	{ WU_E_WUCLTUI_UNSUPPORTED_VERSION, L"Unsupported version of WU client UI exported functions." },
	{ WU_E_AUCLIENT_UNEXPECTED, L"There was a user interface error not covered by another WU_E_AUCLIENT_* error code." },
	{ WU_E_PT_SOAPCLIENT_BASE, L"WU_E_PT_SOAPCLIENT_* error codes map to the SOAPCLIENT_ERROR enum of the ATL Server Library." },
	{ WU_E_PT_SOAPCLIENT_INITIALIZE, L"SOAPCLIENT_INITIALIZE_ERROR - initialization of the SOAP client failed, possibly because of an MSXML installation failure." },
	{ WU_E_PT_SOAPCLIENT_OUTOFMEMORY, L"SOAPCLIENT_OUTOFMEMORY - SOAP client failed because it ran out of memory." },
	{ WU_E_PT_SOAPCLIENT_GENERATE, L"SOAPCLIENT_GENERATE_ERROR - SOAP client failed to generate the request." },
	{ WU_E_PT_SOAPCLIENT_CONNECT, L"SOAPCLIENT_CONNECT_ERROR - SOAP client failed to connect to the server." },
	{ WU_E_PT_SOAPCLIENT_SEND, L"SOAPCLIENT_SEND_ERROR - SOAP client failed to send a message for reasons of WU_E_WINHTTP_* error codes." },
	{ WU_E_PT_SOAPCLIENT_SERVER, L"SOAPCLIENT_SERVER_ERROR - SOAP client failed because there was a server error." },
	{ WU_E_PT_SOAPCLIENT_SOAPFAULT, L"SOAPCLIENT_SOAPFAULT - SOAP client failed because there was a SOAP fault for reasons of WU_E_PT_SOAP_* error codes." },
	{ WU_E_PT_SOAPCLIENT_PARSEFAULT, L"SOAPCLIENT_PARSEFAULT_ERROR - SOAP client failed to parse a SOAP fault." },
	{ WU_E_PT_SOAPCLIENT_READ, L"SOAPCLIENT_READ_ERROR - SOAP client failed while reading the response from the server." },
	{ WU_E_PT_SOAPCLIENT_PARSE, L"SOAPCLIENT_PARSE_ERROR - SOAP client failed to parse the response from the server." },
	{ WU_E_PT_SOAP_VERSION, L"SOAP_E_VERSION_MISMATCH - SOAP client found an unrecognizable namespace for the SOAP envelope." },
	{ WU_E_PT_SOAP_MUST_UNDERSTAND, L"SOAP_E_MUST_UNDERSTAND - SOAP client was unable to understand a header." },
	{ WU_E_PT_SOAP_CLIENT, L"SOAP_E_CLIENT - SOAP client found the message was malformed; fix before resending." },
	{ WU_E_PT_SOAP_SERVER, L"SOAP_E_SERVER - The SOAP message could not be processed due to a server error; resend later." },
	{ WU_E_PT_WMI_ERROR, L"There was an unspecified Windows Management Instrumentation (WMI) error." },
	{ WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS, L"The number of round trips to the server exceeded the maximum limit." },
	{ WU_E_PT_SUS_SERVER_NOT_SET, L"WUServer policy value is missing in the registry." },
	{ WU_E_PT_DOUBLE_INITIALIZATION, L"Initialization failed because the object was already initialized." },
	{ WU_E_PT_INVALID_COMPUTER_NAME, L"The computer name could not be determined." },
	{ WU_E_PT_REFRESH_CACHE_REQUIRED, L"The reply from the server indicates that the server was changed or the cookie was invalid; refresh the state of the internal cache and retry." },
	{ WU_E_PT_HTTP_STATUS_BAD_REQUEST, L"HTTP 400 - the server could not process the request due to invalid syntax." },
	{ WU_E_PT_HTTP_STATUS_DENIED, L"HTTP 401 - the requested resource requires user authentication." },
	{ WU_E_PT_HTTP_STATUS_FORBIDDEN, L"HTTP 403 - server understood the request, but declined to fulfill it." },
	{ WU_E_PT_HTTP_STATUS_NOT_FOUND, L"HTTP 404 - the server cannot find the requested URI (Uniform Resource Identifier)." },
	{ WU_E_PT_HTTP_STATUS_BAD_METHOD, L"HTTP 405 - the HTTP method is not allowed." },
	{ WU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ, L"HTTP 407 - proxy authentication is required." },
	{ WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT, L"HTTP 408 - the server timed out waiting for the request." },
	{ WU_E_PT_HTTP_STATUS_CONFLICT, L"HTTP 409 - the request was not completed due to a conflict with the current state of the resource." },
	{ WU_E_PT_HTTP_STATUS_GONE, L"HTTP 410 - requested resource is no longer available at the server." },
	{ WU_E_PT_HTTP_STATUS_SERVER_ERROR, L"HTTP 500 - an error internal to the server prevented fulfilling the request." },
	{ WU_E_PT_HTTP_STATUS_NOT_SUPPORTED, L"HTTP 501 - server does not support the functionality required to fulfill the request." },
	{ WU_E_PT_HTTP_STATUS_BAD_GATEWAY, L"HTTP 502 - the server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request." },
	{ WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL, L"HTTP 503 - the service is temporarily overloaded." },
	{ WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT, L"HTTP 504 - the request was timed out waiting for a gateway." },
	{ WU_E_PT_HTTP_STATUS_VERSION_NOT_SUP, L"HTTP 505 - the server does not support the HTTP protocol version used for the request." },
	{ WU_E_PT_FILE_LOCATIONS_CHANGED, L"Operation failed due to a changed file location; refresh internal state and resend." },
	{ WU_E_PT_REGISTRATION_NOT_SUPPORTED, L"Operation failed because Windows Update Agent does not support registration with a non-WSUS server." },
	{ WU_E_PT_NO_AUTH_PLUGINS_REQUESTED, L"The server returned an empty authentication information list." },
	{ WU_E_PT_NO_AUTH_COOKIES_CREATED, L"Windows Update Agent was unable to create any valid authentication cookies." },
	{ WU_E_PT_INVALID_CONFIG_PROP, L"A configuration property value was wrong." },
	{ WU_E_PT_CONFIG_PROP_MISSING, L"A configuration property value was missing." },
	{ WU_E_PT_HTTP_STATUS_NOT_MAPPED, L"The HTTP request could not be completed and the reason did not correspond to any of the WU_E_PT_HTTP_* error codes." },
	{ WU_E_PT_WINHTTP_NAME_NOT_RESOLVED, L"ERROR_WINHTTP_NAME_NOT_RESOLVED - the proxy server or target server name cannot be resolved." },
	{ WU_E_PT_ECP_SUCCEEDED_WITH_ERRORS, L"External cab file processing completed with some errors. (Confirm that download.windowsupdate.com and www.download.windowsupdate.com aren't being blocked by a firewall.)" },
	{ WU_E_PT_ECP_INIT_FAILED, L"The external cab processor initialization did not complete." },
	{ WU_E_PT_ECP_INVALID_FILE_FORMAT, L"The format of a metadata file was invalid." },
	{ WU_E_PT_ECP_INVALID_METADATA, L"External cab processor found invalid metadata." },
	{ WU_E_PT_ECP_FAILURE_TO_EXTRACT_DIGEST, L"The file digest could not be extracted from an external cab file." },
	{ WU_E_PT_ECP_FAILURE_TO_DECOMPRESS_CAB_FILE, L"An external cab file could not be decompressed." },
	{ WU_E_PT_ECP_FILE_LOCATION_ERROR, L"External cab processor was unable to get file locations." },
	{ WU_E_PT_UNEXPECTED, L"A communication error not covered by another WU_E_PT_* error code" },
	{ WU_E_REDIRECTOR_LOAD_XML, L"The redirector XML document could not be loaded into the DOM class." },
	{ WU_E_REDIRECTOR_S_FALSE, L"The redirector XML document is missing some required information." },
	{ WU_E_REDIRECTOR_ID_SMALLER, L"The redirector ID in the downloaded redirector cab is less than in the cached cab." },
	{ WU_E_PT_SAME_REDIR_ID, L"Windows Update Agent failed to download a redirector cabinet file with a new redirector ID value from the server during the recovery." },
	{ WU_E_PT_NO_MANAGED_RECOVER, L"A redirector recovery action did not complete because the server is managed." },
	{ WU_E_REDIRECTOR_UNEXPECTED, L"The redirector failed for reasons not covered by another WU_E_REDIRECTOR_* error code." },
	{ WU_E_DM_URLNOTAVAILABLE, L"A download manager operation could not be completed because the requested file does not have a URL." },
	{ WU_E_DM_INCORRECTFILEHASH, L"A download manager operation could not be completed because the file digest was not recognized." },
	{ WU_E_DM_UNKNOWNALGORITHM, L"A download manager operation could not be completed because the file metadata requested an unrecognized hash algorithm." },
	{ WU_E_DM_NEEDDOWNLOADREQUEST, L"An operation could not be completed because a download request is required from the download handler." },
	{ WU_E_DM_NONETWORK, L"A download manager operation could not be completed because the network connection was unavailable." },
	{ WU_E_DM_WRONGBITSVERSION, L"A download manager operation could not be completed because the version of Background Intelligent Transfer Service (BITS) is incompatible." },
	{ WU_E_DM_NOTDOWNLOADED, L"The update has not been downloaded." },
	{ WU_E_DM_FAILTOCONNECTTOBITS, L"A download manager operation failed because the download manager was unable to connect the Background Intelligent Transfer Service (BITS)." },
	{ WU_E_DM_BITSTRANSFERERROR, L"A download manager operation failed because there was an unspecified Background Intelligent Transfer Service (BITS) transfer error." },
	{ WU_E_DM_DOWNLOADLOCATIONCHANGED, L"A download must be restarted because the location of the source of the download has changed." },
	{ WU_E_DM_CONTENTCHANGED, L"A download must be restarted because the update content changed in a new revision." },
	{ WU_E_DM_UNEXPECTED, L"There was a download manager error not covered by another WU_E_DM_* error code." },
	{ WU_E_OL_INVALID_SCANFILE, L"An operation could not be completed because the scan package was invalid." },
	{ WU_E_OL_NEWCLIENT_REQUIRED, L"An operation could not be completed because the scan package requires a greater version of the Windows Update Agent." },
	{ WU_E_OL_UNEXPECTED, L"Search using the scan package failed." },
	{ WU_E_REPORTER_EVENTCACHECORRUPT, L"The event cache file was defective." },
	{ WU_E_REPORTER_EVENTNAMESPACEPARSEFAILED, L"The XML in the event namespace descriptor could not be parsed." },
	{ WU_E_INVALID_EVENT, L"The XML in the event namespace descriptor could not be parsed." },
	{ WU_E_SERVER_BUSY, L"The server rejected an event because the server was too busy." },
	{ WU_E_REPORTER_UNEXPECTED, L"There was a reporter error not covered by another error code." },
	{ WU_E_DS_SHUTDOWN, L"An operation failed because Windows Update Agent is shutting down." },
	{ WU_E_DS_INUSE, L"An operation failed because the data store was in use." },
	{ WU_E_DS_INVALID, L"The current and expected states of the data store do not match." },
	{ WU_E_DS_TABLEMISSING, L"The data store is missing a table." },
	{ WU_E_DS_TABLEINCORRECT, L"The data store contains a table with unexpected columns." },
	{ WU_E_DS_INVALIDTABLENAME, L"A table could not be opened because the table is not in the data store." },
	{ WU_E_DS_BADVERSION, L"The current and expected versions of the data store do not match." },
	{ WU_E_DS_NODATA, L"The information requested is not in the data store." },
	{ WU_E_DS_MISSINGDATA, L"The data store is missing required information or has a NULL in a table column that requires a non-null value." },
	{ WU_E_DS_MISSINGREF, L"The data store is missing required information or has a reference to missing license terms, file, localized property or linked row." },
	{ WU_E_DS_UNKNOWNHANDLER, L"The update was not processed because its update handler could not be recognized." },
	{ WU_E_DS_CANTDELETE, L"The update was not deleted because it is still referenced by one or more services." },
	{ WU_E_DS_LOCKTIMEOUTEXPIRED, L"The data store section could not be locked within the allotted time." },
	{ WU_E_DS_NOCATEGORIES, L"The category was not added because it contains no parent categories and is not a top-level category itself." },
	{ WU_E_DS_ROWEXISTS, L"The row was not added because an existing row has the same primary key." },
	{ WU_E_DS_STOREFILELOCKED, L"The data store could not be initialized because it was locked by another process." },
	{ WU_E_DS_CANNOTREGISTER, L"The data store is not allowed to be registered with COM in the current process." },
	{ WU_E_DS_UNABLETOSTART, L"Could not create a data store object in another process." },
	{ WU_E_DS_DUPLICATEUPDATEID, L"The server sent the same update to the client with two different revision IDs." },
	{ WU_E_DS_UNKNOWNSERVICE, L"An operation did not complete because the service is not in the data store." },
	{ WU_E_DS_SERVICEEXPIRED, L"An operation did not complete because the registration of the service has expired." },
	{ WU_E_DS_DECLINENOTALLOWED, L"A request to hide an update was declined because it is a mandatory update or because it was deployed with a deadline." },
	{ WU_E_DS_TABLESESSIONMISMATCH, L"A table was not closed because it is not associated with the session." },
	{ WU_E_DS_SESSIONLOCKMISMATCH, L"A table was not closed because it is not associated with the session." },
	{ WU_E_DS_NEEDWINDOWSSERVICE, L"A request to remove the Windows Update service or to unregister it with Automatic Updates was declined because it is a built-in service and/or Automatic Updates cannot fall back to another service." },
	{ WU_E_DS_INVALIDOPERATION, L"A request was declined because the operation is not allowed." },
	{ WU_E_DS_SCHEMAMISMATCH, L"The schema of the current data store and the schema of a table in a backup XML document do not match." },
	{ WU_E_DS_RESETREQUIRED, L"The data store requires a session reset; release the session and retry with a new session." },
	{ WU_E_DS_IMPERSONATED, L"A data store operation did not complete because it was requested with an impersonated identity." },
	{ WU_E_DS_UNEXPECTED, L"A data store error not covered by another WU_E_DS_* code." },
	{ WU_E_INVENTORY_PARSEFAILED, L"Parsing of the rule file failed." },
	{ WU_E_INVENTORY_GET_INVENTORY_TYPE_FAILED, L"Failed to get the requested inventory type from the server." },
	{ WU_E_INVENTORY_RESULT_UPLOAD_FAILED, L"Failed to upload inventory result to the server." },
	{ WU_E_INVENTORY_UNEXPECTED, L"There was an inventory error not covered by another error code." },
	{ WU_E_INVENTORY_WMI_ERROR, L"A WMI error occurred when enumerating the instances for a particular class." },
	{ WU_E_AU_NOSERVICE, L"Automatic Updates was unable to service incoming requests." },
	{ WU_E_AU_NONLEGACYSERVER, L"The old version of the Automatic Updates client has stopped because the WSUS server has been upgraded." },
	{ WU_E_AU_LEGACYCLIENTDISABLED, L"The old version of the Automatic Updates client was disabled." },
	{ WU_E_AU_PAUSED, L"Automatic Updates was unable to process incoming requests because it was paused." },
	{ WU_E_AU_NO_REGISTERED_SERVICE, L"No unmanaged service is registered with AU." },
	{ WU_E_AU_UNEXPECTED, L"An Automatic Updates error not covered by another WU_E_AU * code." },
	{ WU_E_DRV_PRUNED, L"A driver was skipped." },
	{ WU_E_DRV_NOPROP_OR_LEGACY, L"A property for the driver could not be found. It may not conform with required specifications." },
	{ WU_E_DRV_REG_MISMATCH, L"The registry type read for the driver does not match the expected type." },
	{ WU_E_DRV_NO_METADATA, L"The driver update is missing metadata." },
	{ WU_E_DRV_MISSING_ATTRIBUTE, L"The driver update is missing a required attribute." },
	{ WU_E_DRV_SYNC_FAILED, L"Driver synchronization failed." },
	{ WU_E_DRV_NO_PRINTER_CONTENT, L"Information required for the synchronization of applicable printers is missing." },
	{ WU_E_DRV_UNEXPECTED, L"A driver error not covered by another WU_E_DRV_* code." },
	{ WU_E_SETUP_INVALID_INFDATA, L"Windows Update Agent could not be updated because an INF file contains invalid information." },
	{ WU_E_SETUP_INVALID_IDENTDATA, L"Windows Update Agent could not be updated because the wuident.cab file contains invalid information." },
	{ WU_E_SETUP_ALREADY_INITIALIZED, L"Windows Update Agent could not be updated because of an internal error that caused setup initialization to be performed twice." },
	{ WU_E_SETUP_NOT_INITIALIZED, L"Windows Update Agent could not be updated because setup initialization never completed successfully." },
	{ WU_E_SETUP_SOURCE_VERSION_MISMATCH, L"Windows Update Agent could not be updated because the versions specified in the INF do not match the actual source file versions." },
	{ WU_E_SETUP_TARGET_VERSION_GREATER, L"Windows Update Agent could not be updated because a WUA file on the target system is newer than the corresponding source file." },
	{ WU_E_SETUP_REGISTRATION_FAILED, L"Windows Update Agent could not be updated because regsvr32.exe returned an error." },
	{ WU_E_SELFUPDATE_SKIP_ON_FAILURE, L"An update to the Windows Update Agent was skipped because previous attempts to update have failed." },
	{ WU_E_SETUP_SKIP_UPDATE, L"An update to the Windows Update Agent was skipped due to a directive in the wuident.cab file." },
	{ WU_E_SETUP_UNSUPPORTED_CONFIGURATION, L"Windows Update Agent could not be updated because the current system configuration is not supported." },
	{ WU_E_SETUP_BLOCKED_CONFIGURATION, L"Windows Update Agent could not be updated because the system is configured to block the update." },
	{ WU_E_SETUP_REBOOT_TO_FIX, L"Windows Update Agent could not be updated because a restart of the system is required." },
	{ WU_E_SETUP_ALREADYRUNNING, L"Windows Update Agent setup is already running." },
	{ WU_E_SETUP_REBOOTREQUIRED, L"Windows Update Agent setup package requires a reboot to complete installation." },
	{ WU_E_SETUP_HANDLER_EXEC_FAILURE, L"Windows Update Agent could not be updated because the setup handler failed during execution." },
	{ WU_E_SETUP_INVALID_REGISTRY_DATA, L"Windows Update Agent could not be updated because the registry contains invalid information." },
	{ WU_E_SELFUPDATE_REQUIRED, L"Windows Update Agent must be updated before search can continue." },
	{ WU_E_SELFUPDATE_REQUIRED_ADMIN, L"Windows Update Agent must be updated before search can continue. An administrator is required to perform the operation." },
	{ WU_E_SETUP_WRONG_SERVER_VERSION, L"Windows Update Agent could not be updated because the server does not contain update information for this version." },
	{ WU_E_SETUP_UNEXPECTED, L"Windows Update Agent could not be updated because of an error not covered by another WU_E_SETUP_* error code." },
	{ WU_E_EE_UNKNOWN_EXPRESSION, L"An expression evaluator operation could not be completed because an expression was unrecognized." },
	{ WU_E_EE_INVALID_EXPRESSION, L"An expression evaluator operation could not be completed because an expression was invalid." },
	{ WU_E_EE_MISSING_METADATA, L"An expression evaluator operation could not be completed because an expression contains an incorrect number of metadata nodes." },
	{ WU_E_EE_INVALID_VERSION, L"An expression evaluator operation could not be completed because the version of the serialized expression data is invalid." },
	{ WU_E_EE_NOT_INITIALIZED, L"The expression evaluator could not be initialized." },
	{ WU_E_EE_INVALID_ATTRIBUTEDATA, L"An expression evaluator operation could not be completed because there was an invalid attribute." },
	{ WU_E_EE_CLUSTER_ERROR, L"An expression evaluator operation could not be completed because the cluster state of the computer could not be determined." },
	{ WU_E_EE_UNEXPECTED, L"There was an expression evaluator error not covered by another WU_E_EE_* error code." },
	NULL
};
