Introduction
When you are using windows dlls such as "winscard.dll",etc you may got some error codes witch you don't know its meaning. there are some pages in microsoft develpment center that describs these error codes but it is not helpfull for a programmer when you want to show error message to user.
I made a list of all System Error Code and i want to share it here.
Using the code
class SystemErrorCodes
{
public enum SystemErrors
{
ERROR_SUCCESS = 0x0,
ERROR_INVALID_FUNCTION = 0x1,
ERROR_FILE_NOT_FOUND = 0x2,
ERROR_PATH_NOT_FOUND = 0x3,
ERROR_TOO_MANY_OPEN_FILES = 0x4,
ERROR_ACCESS_DENIED = 0x5,
ERROR_INVALID_HANDLE = 0x6,
ERROR_ARENA_TRASHED = 0x7,
ERROR_NOT_ENOUGH_MEMORY = 0x8,
ERROR_INVALID_BLOCK = 0x9,
ERROR_BAD_ENVIRONMENT = 0xA,
ERROR_BAD_FORMAT = 0xB,
ERROR_INVALID_ACCESS = 0xC,
ERROR_INVALID_DATA = 0xD,
ERROR_OUTOFMEMORY = 0xE,
ERROR_INVALID_DRIVE = 0xF,
ERROR_CURRENT_DIRECTORY = 0x10,
.
.
.
ERROR_EVT_CHANNEL_NOT_FOUND = 0x3A9F,
ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL = 0x3AA1,
ERROR_EVT_CONFIGURATION_ERROR = 0x3AA2,
ERROR_EVT_QUERY_RESULT_INVALID_POSITION = 0x3AA4,
ERROR_EVT_FILTER_ALREADYSCOPED = 0x3AA6,
ERROR_EVT_FILTER_INVTYPE = 0x3AAA,
ERROR_EVT_FILTER_UNSUPPORTEDOP = 0x3AAC,
ERROR_EVT_FILTER_UNEXPECTEDTOKEN = 0x3AAD,
ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL = 0x3AAE,
ERROR_EVT_CHANNEL_CANNOT_ACTIVATE = 0x3AB1,
ERROR_EVT_FILTER_TOO_COMPLEX = 0x3AB2,
ERROR_EVT_MESSAGE_ID_NOT_FOUND = 0x3AB4,
ERROR_EVT_MAX_INSERTS_REACHED = 0x3AB7,
ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND = 0x3AB9,
ERROR_EVT_VERSION_TOO_OLD = 0x3ABA,
ERROR_EVT_VERSION_TOO_NEW = 0x3ABB,
ERROR_EVT_PUBLISHER_DISABLED = 0x3ABD,
ERROR_EVT_FILTER_OUT_OF_RANGE = 0x3ABE,
ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE = 0x3AE8,
ERROR_EC_CREDSTORE_FULL = 0x3AEB,
ERROR_EC_NO_ACTIVE_CHANNEL = 0x3AED,
ERROR_MUI_FILE_NOT_FOUND = 0x3AFC,
ERROR_MUI_INVALID_FILE = 0x3AFD,
ERROR_MUI_INVALID_RC_CONFIG = 0x3AFE,
ERROR_MUI_INVALID_LOCALE_NAME = 0x3AFF,
ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME = 0x3B00,
ERROR_RESOURCE_ENUM_USER_STOP = 0x3B02,
ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED = 0x3B03,
ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME = 0x3B04,
ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE = 0x3B06,
ERROR_MRM_INVALID_PRICONFIG = 0x3B07,
ERROR_MRM_INVALID_FILE_TYPE = 0x3B08,
ERROR_MRM_UNKNOWN_QUALIFIER = 0x3B09,
ERROR_MRM_INVALID_QUALIFIER_VALUE = 0x3B0A,
ERROR_MRM_NO_CANDIDATE = 0x3B0B,
ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE = 0x3B0C,
ERROR_MRM_RESOURCE_TYPE_MISMATCH = 0x3B0D,
ERROR_MRM_DUPLICATE_MAP_NAME = 0x3B0E,
ERROR_MRM_DUPLICATE_ENTRY = 0x3B0F,
ERROR_MRM_INVALID_RESOURCE_IDENTIFIER = 0x3B10,
ERROR_MRM_FILEPATH_TOO_LONG = 0x3B11,
ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE = 0x3B12,
ERROR_MRM_INVALID_PRI_FILE = 0x3B16,
ERROR_MRM_NAMED_RESOURCE_NOT_FOUND = 0x3B17,
ERROR_MRM_MAP_NOT_FOUND = 0x3B1F,
ERROR_MRM_UNSUPPORTED_PROFILE_TYPE = 0x3B20,
ERROR_MRM_INVALID_QUALIFIER_OPERATOR = 0x3B21,
ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE = 0x3B22,
ERROR_MRM_AUTOMERGE_ENABLED = 0x3B23,
ERROR_MRM_TOO_MANY_RESOURCES = 0x3B24,
ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION = 0x3B62,
ERROR_MCA_INTERNAL_ERROR = 0x3B65,
ERROR_AMBIGUOUS_SYSTEM_DEVICE = 0x3B92,
ERROR_SYSTEM_DEVICE_NOT_FOUND = 0x3BC3,
ERROR_HASH_NOT_SUPPORTED = 0x3BC4,
ERROR_HASH_NOT_PRESENT = 0x3BC5,
ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED = 0x3BD9,
ERROR_GPIO_CLIENT_INFORMATION_INVALID = 0x3BDA,
ERROR_GPIO_VERSION_NOT_SUPPORTED = 0x3BDB,
ERROR_GPIO_INVALID_REGISTRATION_PACKET = 0x3BDC,
ERROR_GPIO_OPERATION_DENIED = 0x3BDD,
ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE = 0x3BDE,
ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED = 0x3BDF,
ERROR_CANNOT_SWITCH_RUNLEVEL = 0x3C28,
ERROR_INVALID_RUNLEVEL_SETTING = 0x3C29,
ERROR_RUNLEVEL_SWITCH_TIMEOUT = 0x3C2A,
ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT = 0x3C2B,
ERROR_RUNLEVEL_SWITCH_IN_PROGRESS = 0x3C2C,
ERROR_SERVICES_FAILED_AUTOSTART = 0x3C2D,
ERROR_COM_TASK_STOP_PENDING = 0x3C8D,
ERROR_INSTALL_OPEN_PACKAGE_FAILED = 0x3CF0,
ERROR_INSTALL_PACKAGE_NOT_FOUND = 0x3CF1,
ERROR_INSTALL_INVALID_PACKAGE = 0x3CF2,
ERROR_INSTALL_OUT_OF_DISK_SPACE = 0x3CF4,
ERROR_INSTALL_NETWORK_FAILURE = 0x3CF5,
ERROR_INSTALL_REGISTRATION_FAILURE = 0x3CF6,
ERROR_INSTALL_DEREGISTRATION_FAILURE = 0x3CF7,
ERROR_INSTALL_CANCEL = 0x3CF8,
ERROR_INSTALL_FAILED = 0x3CF9,
ERROR_REMOVE_FAILED = 0x3CFA,
ERROR_NEEDS_REMEDIATION = 0x3CFC,
ERROR_INSTALL_PREREQUISITE_FAILED = 0x3CFD,
ERROR_PACKAGE_REPOSITORY_CORRUPTED = 0x3CFE,
ERROR_PACKAGE_UPDATING = 0x3D00,
ERROR_DEPLOYMENT_BLOCKED_BY_POLICY = 0x3D01,
ERROR_PACKAGES_IN_USE = 0x3D02,
ERROR_RECOVERY_FILE_CORRUPT = 0x3D03,
ERROR_INSTALL_PACKAGE_DOWNGRADE = 0x3D06,
ERROR_SYSTEM_NEEDS_REMEDIATION = 0x3D07,
ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN = 0x3D08,
ERROR_RESILIENCY_FILE_CORRUPT = 0x3D09,
ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING = 0x3D0A,
APPMODEL_ERROR_NO_PACKAGE = 0x3D54,
APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT = 0x3D55,
APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT = 0x3D56,
APPMODEL_ERROR_NO_APPLICATION = 0x3D57,
ERROR_STATE_LOAD_STORE_FAILED = 0x3DB8,
ERROR_STATE_GET_VERSION_FAILED = 0x3DB9,
ERROR_STATE_SET_VERSION_FAILED = 0x3DBA,
ERROR_STATE_STRUCTURED_RESET_FAILED = 0x3DBB,
ERROR_STATE_OPEN_CONTAINER_FAILED = 0x3DBC,
ERROR_STATE_CREATE_CONTAINER_FAILED = 0x3DBD,
ERROR_STATE_DELETE_CONTAINER_FAILED = 0x3DBE,
ERROR_STATE_READ_SETTING_FAILED = 0x3DBF,
ERROR_STATE_WRITE_SETTING_FAILED = 0x3DC0,
ERROR_STATE_DELETE_SETTING_FAILED = 0x3DC1,
ERROR_STATE_QUERY_SETTING_FAILED = 0x3DC2,
ERROR_STATE_READ_COMPOSITE_SETTING_FAILED = 0x3DC3,
ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED = 0x3DC4,
ERROR_STATE_ENUMERATE_CONTAINER_FAILED = 0x3DC5,
ERROR_STATE_ENUMERATE_SETTINGS_FAILED = 0x3DC6,
ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED = 0x3DC7,
ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED = 0x3DC8,
ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED = 0x3DC9,
ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED = 0x3DCA
}
public string GetErrorDescription(int SystemErrorCode)
{
switch (SystemErrorCode)
{
case 0x0: return "The operation completed successfully.";
case 0x1: return "Incorrect function.";
case 0x2: return "The system cannot find the file specified.";
case 0x3: return "The system cannot find the path specified.";
case 0x4: return "The system cannot open the file.";
case 0x5: return "Access is denied.";
case 0x6: return "The handle is invalid.";
case 0x7: return "The storage control blocks were destroyed.";
case 0x8: return "Not enough storage is available to process this command.";
case 0x9: return "The storage control block address is invalid.";
case 0xA: return "The environment is incorrect.";
case 0xB: return "An attempt was made to load a program with an incorrect format.";
case 0xC: return "The access code is invalid.";
case 0xD: return "The data is invalid.";
case 0xE: return "Not enough storage is available to complete this operation.";
case 0xF: return "The system cannot find the drive specified.";
case 0x10: return "The directory cannot be removed.";
case 0x11: return "The system cannot move the file to a different disk drive.";
case 0x12: return "There are no more files.";
case 0x13: return "The media is write protected.";
case 0x14: return "The system cannot find the device specified.";
case 0x15: return "The device is not ready.";
case 0x16: return "The device does not recognize the command.";
case 0x18: return "The program issued a command but the command length is incorrect.";
case 0x19: return "The drive cannot locate a specific area or track on the disk.";
case 0x1A: return "The specified disk or diskette cannot be accessed.";
case 0x1B: return "The drive cannot find the sector requested.";
case 0x1C: return "The printer is out of paper.";
case 0x1D: return "The system cannot write to the specified device.";
case 0x1E: return "The system cannot read from the specified device.";
case 0x1F: return "A device attached to the system is not functioning.";
case 0x20: return "The process cannot access the file because it is being used by another process.";
case 0x21: return "The process cannot access the file because another process has locked a portion of the file.";
case 0x24: return "Too many files opened for sharing.";
case 0x26: return "Reached the end of the file.";
case 0x27: return "The disk is full.";
case 0x32: return "The request is not supported.";
case 0x35: return "The network path was not found.";
case 0x36: return "The network is busy.";
case 0x37: return "The specified network resource or device is no longer available.";
case 0x38: return "The network BIOS command limit has been reached.";
case 0x39: return "A network adapter hardware error occurred.";
case 0x3A: return "The specified server cannot perform the requested operation.";
case 0x3B: return "An unexpected network error occurred.";
case 0x3C: return "The remote adapter is not compatible.";
case 0x3D: return "The printer queue is full.";
case 0x3E: return "Space to store the file waiting to be printed is not available on the server.";
case 0x3F: return "Your file waiting to be printed was deleted.";
case 0x40: return "The specified network name is no longer available.";
case 0x41: return "Network access is denied.";
case 0x42: return "The network resource type is not correct.";
case 0x43: return "The network name cannot be found.";
case 0x44: return "The name limit for the local computer network adapter card was exceeded.";
case 0x45: return "The network BIOS session limit was exceeded.";
case 0x46: return "The remote server has been paused or is in the process of being started.";
case 0x47: return "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.";
case 0x48: return "The specified printer or disk device has been paused.";
case 0x50: return "The file exists.";
case 0x52: return "The directory or file cannot be created.";
case 0x53: return "Fail on INT 24.";
case 0x54: return "Storage to process this request is not available.";
case 0x55: return "The local device name is already in use.";
case 0x56: return "The specified network password is not correct.";
case 0x57: return "The parameter is incorrect.";
case 0x58: return "A write fault occurred on the network.";
case 0x59: return "The system cannot start another process at this time.";
case 0x64: return "Cannot create another system semaphore.";
case 0x65: return "The exclusive semaphore is owned by another process.";
case 0x66: return "The semaphore is set and cannot be closed.";
case 0x67: return "The semaphore cannot be set again.";
case 0x68: return "Cannot request exclusive semaphores at interrupt time.";
case 0x69: return "The previous ownership of this semaphore has ended.";
case 0x6B: return "The program stopped because an alternate diskette was not inserted.";
case 0x6C: return "The disk is in use or locked by another process.";
.
.
.
case 0x3BC4: return "Hash generation for the specified hash version and hash type is not enabled on the server.";
case 0x3BC5: return "The hash requested from the server is not available or no longer valid.";
case 0x3BD9: return "The secondary interrupt controller instance that manages the specified interrupt is not registered.";
case 0x3BDA: return "The information supplied by the GPIO client driver is invalid.";
case 0x3BDB: return "The version specified by the GPIO client driver is not supported.";
case 0x3BDC: return "The registration packet supplied by the GPIO client driver is not valid.";
case 0x3BDD: return "The requested operation is not suppported for the specified handle.";
case 0x3BDE: return "The requested connect mode conflicts with an existing mode on one or more of the specified pins.";
case 0x3BDF: return "The interrupt requested to be unmasked is not masked.";
case 0x3C28: return "The requested run level switch cannot be completed successfully.";
case 0x3C29: return "The service has an invalid run level setting. The run level for a service must not be higher than the run level of its dependent services.";
case 0x3C2A: return "The requested run level switch cannot be completed successfully since one or more services will not stop or restart within the specified timeout.";
case 0x3C2B: return "A run level switch agent did not respond within the specified timeout.";
case 0x3C2C: return "A run level switch is currently in progress.";
case 0x3C2D: return "One or more services failed to start during the service startup phase of a run level switch.";
case 0x3C8D: return "The task stop request cannot be completed immediately since task needs more time to shutdown.";
case 0x3CF0: return "Package could not be opened.";
case 0x3CF1: return "Package was not found.";
case 0x3CF2: return "Package data is invalid.";
case 0x3CF4: return "There is not enough disk space on your computer. Please free up some space and try again.";
case 0x3CF5: return "There was a problem downloading your product.";
case 0x3CF6: return "Package could not be registered.";
case 0x3CF7: return "Package could not be unregistered.";
case 0x3CF8: return "User cancelled the install request.";
case 0x3CF9: return "Install failed. Please contact your software vendor.";
case 0x3CFA: return "Removal failed. Please contact your software vendor.";
case 0x3CFC: return "The application cannot be started. Try reinstalling the application to fix the problem.";
case 0x3CFD: return "A Prerequisite for an install could not be satisfied.";
case 0x3CFE: return "The package repository is corrupted.";
case 0x3D00: return "The application cannot be started because it is currently updating.";
case 0x3D01: return "The package deployment operation is blocked by policy. Please contact your system administrator.";
case 0x3D02: return "The package could not be installed because resources it modifies are currently in use.";
case 0x3D03: return "The package could not be recovered because necessary data for recovery have been corrupted.";
case 0x3D06: return "The package could not be installed because a higher version of this package is already installed.";
case 0x3D07: return "An error in a system binary was detected. Try refreshing the PC to fix the problem.";
case 0x3D08: return "A corrupted CLR NGEN binary was detected on the system.";
case 0x3D09: return "The operation could not be resumed because necessary data for recovery have been corrupted.";
case 0x3D0A: return "The package could not be installed because the Windows Firewall service is not running. Enable the Windows Firewall service and try again.";
case 0x3D54: return "The process has no package identity.";
case 0x3D55: return "The package runtime information is corrupted.";
case 0x3D56: return "The package identity is corrupted.";
case 0x3D57: return "The process has no application identity.";
case 0x3DB8: return "Loading the state store failed.";
case 0x3DB9: return "Retrieving the state version for the application failed.";
case 0x3DBA: return "Setting the state version for the application failed.";
case 0x3DBB: return "Resetting the structured state of the application failed.";
case 0x3DBC: return "State Manager failed to open the container.";
case 0x3DBD: return "State Manager failed to create the container.";
case 0x3DBE: return "State Manager failed to delete the container.";
case 0x3DBF: return "State Manager failed to read the setting.";
case 0x3DC0: return "State Manager failed to write the setting.";
case 0x3DC1: return "State Manager failed to delete the setting.";
case 0x3DC2: return "State Manager failed to query the setting.";
case 0x3DC3: return "State Manager failed to read the composite setting.";
case 0x3DC4: return "State Manager failed to write the composite setting.";
case 0x3DC5: return "State Manager failed to enumerate the containers.";
case 0x3DC6: return "State Manager failed to enumerate the settings.";
case 0x3DC7: return "The size of the state manager composite setting value has exceeded the limit.";
case 0x3DC8: return "The size of the state manager setting value has exceeded the limit.";
case 0x3DC9: return "The length of the state manager setting name has exceeded the limit.";
case 0x3DCA: return "The length of the state manager container name has exceeded the limit.";
}
}
}
History