home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / FILEDLG6.ZIP / ERRMSG.ZIP / SYSERR.C < prev   
Text File  |  1990-11-14  |  34KB  |  521 lines

  1. /****************************************************************************
  2.  * SYSERR.C -- System error message data file                               *
  3.  *                                                                          *
  4.  *  This file contains the system error messages. This file also            *
  5.  *  contains the error messages used for error codes that have no           *
  6.  *  corresponding error message.                                            *
  7.  *                                                                          *
  8.  *  Modifications --                                                        *
  9.  *      09-Oct-1989 : Initial version.                                      *
  10.  *      04-Nov-1990 : Updated error message list for OS/2 v1.21             *
  11.  ****************************************************************************/
  12.  
  13.     #define INCL_WINDIALOGS
  14.     #include <os2.h>
  15.     #include "errmsg.h"
  16.     #include "errconst.h"
  17.  
  18.     #define MB_STD      (MB_OK|MB_ICONEXCLAMATION)
  19.  
  20.     ERRORMSG SysErrMsg[] = {
  21.         0, MB_STD, "No error.",
  22.         1, MB_STD, "Incorrect function.",
  23.         2, MB_STD, "The system cannot find the file specified.",
  24.         3, MB_STD, "The system cannot find the path specified.",
  25.         4, MB_STD, "The system cannot open the file.",
  26.         5, MB_STD, "The system will not allow access to the file specified.",
  27.         6, MB_STD, "Incorrect internal file identifier.",
  28.         7, MB_STD, "The storage control blocks were destroyed.",
  29.         8, MB_OK|MB_ICONHAND, "Not enough memory.",
  30.         9, MB_STD, "The memory control block address is invalid.",
  31.         10, MB_STD, "The environment is incorrect.",
  32.         11, MB_STD, "An attempt was made to load a program with an incorrect format.",
  33.         12, MB_STD, "The access code is invalid.",
  34.         13, MB_STD, "The data is invalid.",
  35.         14, MB_STD, "Unknown unit.",
  36.         15, MB_STD, "The system cannot find the drive specified.",
  37.         16, MB_STD, "The directory cannot be removed.",
  38.         17, MB_STD, "The system cannot move the file to a different disk drive.",
  39.         18, MB_STD, "There are no more files.",
  40.         19, MB_STD, "The diskette is write protected.",
  41.         20, MB_STD, "The system cannot find the device specified.",
  42.         21, MB_STD, "The drive is not ready.",
  43.         22, MB_STD, "The device does not recognize the command.",
  44.         23, MB_STD, "Data error (cyclic redundancy check).",
  45.         24, MB_STD, "The program issued a command but the command length is incorrect.",
  46.         25, MB_STD, "The drive cannot locate a specific area or track on the disk.",
  47.         26, MB_STD, "The disk or diskette cannot be accessed because it is not properly formatted for Microsoft Operating System/2.",
  48.         27, MB_STD, "The drive cannot find the sector requested.",
  49.         28, MB_STD, "The printer is out of paper.",
  50.         29, MB_STD, "The system cannot write to the specified device.",
  51.         30, MB_STD, "The system cannot read from the specified device.",
  52.         31, MB_STD, "A device attached to the system is not functioning.",
  53.         32, MB_STD, "The process cannot access the file because it is being used by another process.",
  54.         33, MB_STD, "The process cannot access the file because another process has locked a portion of the file.",
  55.         34, MB_STD, "The wrong diskette is in the drive.",
  56.         35, MB_STD, "Duplicate FCB found.",
  57.         36, MB_STD, "The system has detected an overflow in the sharing buffer.",
  58.  
  59.         50, MB_STD, "The network request is not supported.",
  60.         51, MB_STD, "The remote computer is not available.",
  61.         52, MB_STD, "A duplicate name exists on the network.",
  62.         53, MB_STD, "The network path was not found.",
  63.         54, MB_STD, "The network is busy.",
  64.         55, MB_STD, "The specified network resource is no longer available.",
  65.         56, MB_STD, "The network BIOS command limit was reached.",
  66.         57, MB_STD, "A network adapter hardware error occurred.",
  67.         58, MB_STD, "The specified server cannot perform the requested operation.",
  68.         59, MB_STD, "An unexpected network error occurred.",
  69.         60, MB_STD, "The remote adapter is not compatible.",
  70.         61, MB_STD, "The printer queue is full.",
  71.         62, MB_STD, "Space to store the file waiting to be printed is not available on the server.",
  72.         63, MB_STD, "Your file waiting to be printed was deleted.",
  73.         64, MB_STD, "The specified network name is no longer available.",
  74.         65, MB_STD, "Network access is denied.",
  75.         66, MB_STD, "The network resource type is not correct.",
  76.         67, MB_STD, "The network name cannot be found.",
  77.         68, MB_STD, "The name limit for the local computer network adapter card was exceeded.",
  78.         69, MB_STD, "The network BIOS session limit was exceeded.",
  79.         70, MB_STD, "The remote server has been paused or is in the process of being started.",
  80.         71, MB_STD, "The network request was not accepted.",
  81.         72, MB_STD, "The specified printer or disk device has been paused.",
  82.  
  83.         80, MB_STD, "The file already exists.",
  84.         81, MB_STD, "Duplicate FCB found.",
  85.         82, MB_STD, "The directory or file cannot be created.",
  86.         83, MB_STD, "Fail on INT 24.",
  87.         84, MB_STD, "Insufficient storage is available to process the request.",
  88.         85, MB_STD, "The local device name is already in use.",
  89.         86, MB_STD, "The specified network password is not correct.",
  90.         87, MB_STD, "The parameter is incorrect.",
  91.         88, MB_STD, "A write operation to a network file failed. Check the network error log for more information.",
  92.         89, MB_STD, "The system cannot start another process at this time. No process slots are available.",
  93.         90, MB_STD, "Process not frozen.",
  94.         91, MB_STD, "Timer service table overflow.",
  95.         92, MB_STD, "Timer service table duplicate.",
  96.         93, MB_STD, "No items to process.",
  97.  
  98.         95, MB_STD, "System call interrupted.",
  99.  
  100.         99, MB_STD, "The device is already in use by another application.",
  101.         100, MB_STD, "Cannot create another system semaphore.",
  102.         101, MB_STD, "The exclusive semaphore is owned by another process.",
  103.         102, MB_STD, "The semaphore is set and cannot be closed.",
  104.         103, MB_STD, "The semaphore cannot be set again.",
  105.         104, MB_STD, "Cannot request exclusive semaphores at interrupt time.",
  106.         105, MB_STD, "Semaphore owner died holding semaphore.",
  107.         106, MB_STD, "Limit on number of semaphore users exceeded.",
  108.         107, MB_STD, "Diskette must be changed.",
  109.         108, MB_STD, "The disk accessed is in use or locked by another process.",
  110.         109, MB_STD, "Broken pipe (write on pipe with no reader)",
  111.         110, MB_STD, "The system cannot open the device or file specified.",
  112.         111, MB_STD, "Output buffer too small for needs of system call.",
  113.         112, MB_STD, "There is not enough space on the disk.",
  114.         113, MB_STD, "No more search handles are available.",
  115.         114, MB_STD, "Could not use duplicate handle value.",
  116.         115, MB_STD, "Protection violation.",
  117.         116, MB_STD, "Vio/Kbd request error.",
  118.         117, MB_STD, "Invalid IOCTL category.",
  119.         118, MB_STD, "The verify-on-write switch parameter value is not correct.",
  120.         119, MB_STD, "The system does not support the command requested.",
  121.         120, MB_STD, "The Application Program Interface (API) entered will only work in Microsoft Operating System/2 mode.",
  122.         121, MB_STD, "The semaphore timeout period has expired.",
  123.         122, MB_STD, "The data area passed to a system call is too small.",
  124.         123, MB_STD, "The filename or volume label contains an incorrect character.",
  125.         124, MB_STD, "The system call level is not correct.",
  126.         125, MB_STD, "The disk has no volume label.",
  127.         126, MB_STD, "The specified module could not be found.",
  128.         127, MB_STD, "The specified procedure could not be found.",
  129.         128, MB_STD, "No child process for which to wait.",
  130.         129, MB_STD, "No child process have died.",
  131.         130, MB_STD, "Invalid handle for direct disk access.",
  132.         131, MB_STD, "Attempted to seek prior to beginning of file.",
  133.         132, MB_STD, "Cannot seek on character device or pipe.",
  134.         133, MB_STD, "A JOIN or SUBST command cannot be used for a drive that contains previously joined drives.",
  135.         134, MB_STD, "An attempt was made to use a JOIN or SUBST command on a drive that has already been joined.",
  136.         135, MB_STD, "An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted.",
  137.         136, MB_STD, "The system tried to delete the JOIN of a drive that is not joined.",
  138.         137, MB_STD, "The system tried to delete the substitution of a drive that is not substituted.",
  139.         138, MB_STD, "The system tried to join a drive to a directory on a joined drive.",
  140.         139, MB_STD, "The system tried to substitute a drive to a directory on a substituted drive.",
  141.         140, MB_STD, "The system tried to join a drive to a directory on a substituted drive.",
  142.         141, MB_STD, "The system tried to SUBST a drive to a directory on a joined drive.",
  143.         142, MB_STD, "Drive is busy. The system cannot perform a JOIN or SUBST at this time.",
  144.         143, MB_STD, "The system cannot join or substitute a drive to or for a directory on the same drive.",
  145.         144, MB_STD, "The directory is not a subdirectory of the root directory.",
  146.         145, MB_STD, "Joined directory must be empty.",
  147.         146, MB_STD, "The path specified is already being used in a substitute.",
  148.         147, MB_STD, "The path specified is already being used in a join.",
  149.         148, MB_STD, "The path is being used by another process.",
  150.         149, MB_STD, "An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute.",
  151.         150, MB_STD, "System trace error.",
  152.         151, MB_STD, "The number of specified semaphore events for DosMuxSemWait is not correct.",
  153.         152, MB_STD, "DosMuxSemWait did not execute; too many semaphores are already set.",
  154.         153, MB_STD, "The DosMuxSemWait list is not correct.",
  155.         154, MB_STD, "The volume label is too long.",
  156.         155, MB_STD, "Cannot create another thread.",
  157.         156, MB_STD, "The recipient process has refused the signal.",
  158.         157, MB_STD, "The segment is already discarded and cannot be locked.",
  159.         158, MB_STD, "The segment is already unlocked.",
  160.         159, MB_STD, "Bad thread ID address.",
  161.         160, MB_STD, "The argument string passed to DosExecPgm is not correct.",
  162.         161, MB_STD, "Invalid path name.",
  163.         162, MB_STD, "A signal is already pending.",
  164.         163, MB_STD, "Disk medium is uncertain.",
  165.         164, MB_STD, "No more threads can be created in the system.",
  166.         165, MB_STD, "Monitors not supported.",
  167.         166, MB_STD, "The network has not been installed.",
  168.         167, MB_STD, "The system cannot lock the required segment in memory.",
  169.         168, MB_STD, "The system experienced an error swapping in a segment.",
  170.         169, MB_STD, "The system cannot swap in a segment.",
  171.         170, MB_STD, "The segment is in use by another process.",
  172.  
  173.         180, MB_STD, "The DLL or EXE file contains a segment number that is not correct, or the file is unusable.",
  174.         181, MB_STD, "Invalid call gate.",
  175.         182, MB_STD, "Invalid ordinal. The program cannot run on this version of OS/2.",
  176.         183, MB_STD, "Shared segment already exists.",
  177.         184, MB_STD, "No child processes to wait for.",
  178.         185, MB_STD, "Specified no wait but live child exists.",
  179.         186, MB_STD, "Invalid flag number.",
  180.         187, MB_STD, "The specified system semaphore was not found.",
  181.         188, MB_STD, "The program does not have a correct END <label> directive.",
  182.         189, MB_STD, "The program does not contain a correct stack segment.",
  183.         190, MB_STD, "Invalid module type. A DLL file cannot be used as an application program. An application program cannot be used as a DLL.",
  184.         191, MB_STD, "Invalid EXE signature. The specified file or program is either a DOS mode program or not compatible with OS/2.",
  185.         192, MB_STD, "EXE marked invalid. LINK detected errors when this program was created.",
  186.         193, MB_STD, "Invalid EXE format. The specified file or program is either a DOS mode program or not compatible with OS/2.",
  187.         194, MB_STD, "One of the segments in the specified file contains more than 64KB of data.",
  188.         195, MB_STD, "The minimum storage allocation size of a segment is specified to be less than the size of the data segment in the file.",
  189.         196, MB_STD, "Routines that run in ring 2 to utilize I/O privileges cannot link to dynamic link libraries.",
  190.         197, MB_STD, "IOPL not enabled in CONFIG.SYS",
  191.         198, MB_STD, "A segment can only have privilege levels of 2 and 3. The segment specified has an unacceptable privilege level.",
  192.         199, MB_STD, "The program's autodata segment exceeds 64KB.",
  193.         200, MB_STD, "Ring 2 segment must be movable.",
  194.         201, MB_STD, "The relocation-chain for a segment exceeds the segment limit.",
  195.         202, MB_STD, "The system detected an infinite loop in the relocation-chain segment.",
  196.         203, MB_STD, "Environment variable not found.",
  197.         204, MB_STD, "Not current country.",
  198.         205, MB_STD, "No process in the command subtree had a signal handler.",
  199.         206, MB_STD, "The file name or extension is too long.",
  200.         207, MB_STD, "The ring 2 stack is in use.",
  201.         208, MB_STD, "The global filename characters, * or ? are entered incorrectly or too many global filename characters are specified.",
  202.         209, MB_STD, "The signal being posted is not correct.",
  203.         210, MB_STD, "The signal handler cannot be set.",
  204.         211, MB_STD, "File system information not available at this time.",
  205.         212, MB_STD, "The segment is locked and cannot be reallocated.",
  206.         213, MB_STD, "Bad dynamic-link module.",
  207.         214, MB_STD, "Too many dynamic link modules are attached to this program or dynamic link module.",
  208.         215, MB_STD, "Nesting not allowed.",
  209.         216, MB_STD, "Cannot shrink ring 2 stack.",
  210.         217, MB_STD, "ERROR_ZOMBIE_PROCESS",
  211.         218, MB_STD, "ERROR_STACK_IN_HIGH_MEMORY",
  212.         219, MB_STD, "The Exitlist routine address is not at ring 3.",
  213.         220, MB_STD, "ERROR_GETBUF_FAILED",
  214.         221, MB_STD, "ERROR_FLUSHBUF_FAILED",
  215.         222, MB_STD, "ERROR_TRANSFER_TOO_LONG",
  216.  
  217.         228, MB_STD, "The specified child process does not exist, or there are no more child processes to wait for.",
  218.         229, MB_STD, "ERROR_INVALID_SCREEN_GROUP",
  219.         230, MB_STD, "Pipe does not exist or invalid pipe operation.",
  220.         231, MB_STD, "The pipe is in use by another process.",
  221.         232, MB_STD, "There is no data to be read.",
  222.         233, MB_STD, "The specified pipe was disconnected at its other end.",
  223.         234, MB_STD, "More data is available.",
  224.  
  225.         240, MB_STD, "Transmission errors caused the network connection to be disconnected.",
  226.  
  227.         250, MB_STD, "You cannot move or rename a parent directory to one of its subdirectories. Such an action would cause a loop in the directory tree.",
  228.         251, MB_STD, "Cannot move or rename a directory that is being used.",
  229.         252, MB_STD, "The specified file system name is not correct.",
  230.         253, MB_STD, "The specified device name is not correct.",
  231.         254, MB_STD, "An incorrect extended attribute name was used.",
  232.         255, MB_STD, "The extended attribute list size is not correct.",
  233.         256, MB_STD, "The extended attribute list is too long.",
  234.         257, MB_STD, "The specified file name expression was not found.",
  235.         258, MB_STD, "A timeout occurred before the requested changes could be completed.",
  236.         259, MB_STD, "There are no more attached devices or drives.",
  237.         260, MB_STD, "3x box findfirst/next search structure reused.",
  238.         261, MB_STD, "A match for the set of characters used was not found.",
  239.         262, MB_STD, "The stack size indicated in a DevHlp_RegisterStackUsage call was too large.",
  240.         263, MB_STD, "The attributes of the installable file system are not acceptable to your system.",
  241.         264, MB_STD, "The starting address is not at ring 3.",
  242.         265, MB_STD, "The start routine address for the dynamic link library is not at ring 3.",
  243.         266, MB_STD, "The specified file was not copied. Either the source and target files are not in the same file system, or the operating system does not support COPY for this file system.",
  244.         267, MB_STD, "The directory cannot be copied.",
  245.         268, MB_STD, "The file is locked by the network process.",
  246.         269, MB_STD, "An error internal to network file management has occurred.",
  247.         270, MB_STD, "ERROR_VOLUME_CHANGED",
  248.         271, MB_STD, "ERROR_FINDNOTIFY_HANDLE_IN_USE",
  249.         272, MB_STD, "ERROR_FINDNOTIFY_HANDLE_CLOSED",
  250.         273, MB_STD, "ERROR_NOTIFY_OBJECT_REMOVED",
  251.         274, MB_STD, "System shutdown already done.",
  252.         275, MB_STD, "ERROR_EAS_DIDNT_FIT",
  253.         276, MB_STD, "The extended attributes are corrupted.",
  254.         277, MB_STD, "No more space is available for extended attributes.",
  255.         278, MB_STD, "The system cannot find the extended attribute.",
  256.         279, MB_STD, "The system detected an extended attribute read error.",
  257.         280, MB_STD, "Extended attributes cannot be created on this disk or diskette.",
  258.         281, MB_STD, "The extended attribute system file cannot be opened.",
  259.         282, MB_STD, "The target file system cannot save extended attributes.",
  260.         283, MB_STD, "The target file system cannot save extended attributes.",
  261.         284, MB_STD, "The extended attributes for the file or directory were discarded because the target file system does not support extended attributes.",
  262.  
  263.         303, MB_STD, "Invalid process ID.",
  264.         304, MB_STD, "Invalid change in priority level.",
  265.         305, MB_STD, "Target process not a descendant.",
  266.         306, MB_STD, "Caller not the session manager.",
  267.         307, MB_STD, "Invalid priority class.",
  268.         308, MB_STD, "Invalid scope.",
  269.         309, MB_STD, "Invalid thread ID.",
  270.         310, MB_STD, "Cannot shrink suballocated segment.",
  271.         311, MB_STD, "Out of memory in suballocated segment.",
  272.         312, MB_STD, "Invalid element overlap in DosSubFree.",
  273.         313, MB_STD, "Invalid element size parameter.",
  274.         314, MB_STD, "Invalid flag parameter.",
  275.         315, MB_STD, "Invalid segment selector.",
  276.         316, MB_STD, "Message too long for buffer.",
  277.         317, MB_STD, "The message is not in the message file.",
  278.         318, MB_STD, "Unable to access message file.",
  279.         319, MB_STD, "Invalid message file format.",
  280.         320, MB_STD, "Invalid insertion variable count.",
  281.         321, MB_STD, "Unable to perform function.",
  282.         322, MB_STD, "Unable to wakeup.",
  283.         323, MB_STD, "Invalid system semaphore handle.",
  284.         324, MB_STD, "No timers available.",
  285.  
  286.         326, MB_STD, "Invalid timer handle.",
  287.         327, MB_STD, "Invalid date or time.",
  288.         328, MB_STD, "Internal system error.",
  289.         329, MB_STD, "Current queue name does not exist.",
  290.         330, MB_STD, "Queue not owned by calling process.",
  291.         331, MB_STD, "Current process owns queue.",
  292.         332, MB_STD, "Queue name already exists.",
  293.         333, MB_STD, "Queue element does not exist.",
  294.         334, MB_STD, "Not enough memory is available to process a queue request.",
  295.         335, MB_STD, "Invalid queue name.",
  296.         336, MB_STD, "Invalid queue element priority value.",
  297.         337, MB_STD, "Invalid queue handle.",
  298.         338, MB_STD, "Queue link not found.",
  299.         339, MB_STD, "Queue memory error.",
  300.         340, MB_STD, "Previous element was at end of queue.",
  301.         341, MB_STD, "Caller does not have access to the queue.",
  302.         342, MB_STD, "Queue is empty.",
  303.         343, MB_STD, "Queue name does not exist.",
  304.         344, MB_STD, "Queue is not initialized.",
  305.         345, MB_STD, "Unable to access queue.",
  306.         346, MB_STD, "Unable to add new queue.",
  307.         347, MB_STD, "Unable to initialize queue.",
  308.         349, MB_STD, "The function masks supplied to either VioRegister or VioGlobReg are not correct.",
  309.         350, MB_STD, "The parameters specified for VioGetPhysBuf are not correct.",
  310.         351, MB_STD, "Invalid pointer to attribute in VIO function.",
  311.         352, MB_STD, "Invalid pointer to row in VIO function.",
  312.         353, MB_STD, "Invalid pointer to column in VIO function.",
  313.         354, MB_STD, "Invalid pointer to length in VIO function.",
  314.         355, MB_STD, "The display mode requested is not correct, or the VIO function requested is not valid for the current display mode.",
  315.         356, MB_STD, "The cursor width parameter specified for VioSetCurType is not correct.",
  316.         357, MB_STD, "Invalid cursor attribute.",
  317.         358, MB_STD, "Invalid row.",
  318.         359, MB_STD, "Invalid column.",
  319.         360, MB_STD, "Invalid value for top row.",
  320.         361, MB_STD, "Invalid value for bottom row.",
  321.         362, MB_STD, "Invalid value for right column.",
  322.         363, MB_STD, "Invalid value for left column.",
  323.         364, MB_STD, "ERROR_SCS_CALL",
  324.         365, MB_STD, "ERROR_SCS_VALUE",
  325.         366, MB_STD, "Invalid wait flag setting.",
  326.         367, MB_STD, "The call to VioScrUnlock is not valid.",
  327.         368, MB_STD, "ERROR_SGS_NOT_SESSION_MGR",
  328.         369, MB_STD, "Invalid screen group or session ID.",
  329.         370, MB_STD, "No sessions available or screen group not found.",
  330.         371, MB_STD, "Screen group or session not found.",
  331.         372, MB_STD, "The session title cannot be changed.",
  332.         373, MB_STD, "A parameter passed to a keyboard API function is not correct.",
  333.         374, MB_STD, "ERROR_KBD_NO_DEVICE",
  334.         375, MB_STD, "An IOWAIT parameter that is not correct was passed to a keyboard API function.",
  335.         376, MB_STD, "An invalid length parameter was passed to a keyboard API function.",
  336.         377, MB_STD, "An invalid bitmask parameter was passed to a keyboard API function.",
  337.         378, MB_STD, "Invalid input mode mask.",
  338.         379, MB_STD, "Invalid parameters to monitor call.",
  339.         380, MB_STD, "The system cannot find the device specified for the DosMonOpen call.",
  340.         381, MB_STD, "The system cannot find the specified device handle for the monitor API call.",
  341.         382, MB_STD, "The monitor buffer length parameter is too small.",
  342.         383, MB_STD, "No data has been transferred.",
  343.         384, MB_STD, "The bytecount parameter is too large. No data has been transferred.",
  344.         385, MB_STD, "No mouse installed.",
  345.         386, MB_STD, "Mouse device closed; handle invalid.",
  346.         387, MB_STD, "Invalid parameters to MOU call.",
  347.         388, MB_STD, "Cannot reset mouse.",
  348.         389, MB_STD, "ERROR_MOUSE_DISPLAY_PARMS",
  349.         390, MB_STD, "ERROR_MOUSE_INV_MODULE",
  350.         391, MB_STD, "ERROR_MOUSE_INV_ENTRY_PT",
  351.         392, MB_STD, "ERROR_MOUSE_INV_MASK",
  352.         393, MB_STD, "No mouse data.",
  353.         394, MB_STD, "OK, mouse pointer drawn.",
  354.         395, MB_STD, "Invalid beep frequency.",
  355.         396, MB_STD, "The system cannot find COUNTRY.SYS.",
  356.         397, MB_STD, "The file COUNTRY.SYS exists but is in use by another process.",
  357.         398, MB_STD, "Country code or code page not found.",
  358.         399, MB_STD, "The specified buffer length is too small, causing the returned NLS table to truncate.",
  359.         400, MB_STD, "NLS invalid type.",
  360.         401, MB_STD, "Information for a specific country was requested, but was not found in the file COUNTRY.SYS.",
  361.         402, MB_STD, "ERROR_VIO_SMG_ONLY",
  362.         403, MB_STD, "ERROR_VIO_INVALID_ASCIIZ",
  363.         404, MB_STD, "The call to VioDeRegister is not valid.",
  364.         405, MB_STD, "The call to VioEndPopup is not valid.",
  365.         406, MB_STD, "Request for a VIO pop-up with no wait is denied.",
  366.         407, MB_STD, "The keyboard API function cannot be called from this process.",
  367.         408, MB_STD, "An ASCIIZ string of incorrect length was passed to KbdRegister.",
  368.         409, MB_STD, "An invalid function mask parameter was passed to KbdRegister.",
  369.         410, MB_STD, "The attempt to register keyboard API functions for the current session is not allowed.",
  370.         411, MB_STD, "No keyboard subsystem previously registered within current screen group.",
  371.         412, MB_STD, "The mouse API function cannot be called from this process.",
  372.         413, MB_STD, "An ASCIIZ string of incorrect length was passed to MouRegister.",
  373.         414, MB_STD, "An invalid function mask parameter was passed to MouRegister.",
  374.         415, MB_STD, "The attempt to register mouse API functions for the current session is not allowed.",
  375.         416, MB_STD, "No mouse subsystem previously registered within current screen group.",
  376.         417, MB_STD, "The requested Session Manager action is not valid.",
  377.         418, MB_STD, "The call to DosSMRegisterDD is not allowed.",
  378.         419, MB_STD, "Screen group not found.",
  379.         420, MB_STD, "Caller is not shell.",
  380.         421, MB_STD, "The parameter(s) specified to the VIO call are not correct.",
  381.         422, MB_STD, "The save or restore request for mode or save redraw is not allowed in the current screen group.",
  382.         423, MB_STD, "Thread unblock by VioModeUndo or VioSavRedrawUndo.",
  383.         424, MB_STD, "ERROR_SCS_INVALID_FUNCTION",
  384.         425, MB_STD, "ERROR_SCS_NOT_SESSION_MANAGER",
  385.         426, MB_STD, "The VioRegister or VioGlobalReg is not valid.",
  386.         427, MB_STD, "No VioModeWait thread exists.",
  387.         428, MB_STD, "The call to VioSaveRedrawUndo is not valid.",
  388.         429, MB_STD, "An attempt to obtain a selector to the video buffer was made while the process was executing in a background screen group.",
  389.         430, MB_STD, "The VIO call issued is not allowed while the current VIO pop-up is executing.",
  390.         431, MB_STD, "The request for the Session Manager function is not valid.",
  391.         432, MB_STD, "The request for the Session Manager status is not valid.",
  392.         433, MB_STD, "ERROR_QUE_INVALID_WAIT",
  393.         434, MB_STD, "The call to VioScrLock is not allowed.",
  394.         435, MB_STD, "An invalid IOWAIT parameter was passed to a mouse API function.",
  395.         436, MB_STD, "An invalid VIO handle was found.",
  396.         437, MB_STD, "ERROR_VIO_ILLEGAL_DURING_LOCK",
  397.         438, MB_STD, "ERROR_VIO_INVALID_LENGTH",
  398.         439, MB_STD, "Invalid Kbd handle.",
  399.         440, MB_STD, "No more Kbd handles.",
  400.         441, MB_STD, "A resource error occurred during an attempt to open a logical keyboard.",
  401.         442, MB_STD, "An error occurred during an attempt to load a code page table.",
  402.         443, MB_STD, "Invalid codepage ID.",
  403.         444, MB_STD, "No codepage support.",
  404.         445, MB_STD, "Kbd focus required.",
  405.         446, MB_STD, "Kbd focus already active.",
  406.         447, MB_STD, "The keyboard focus is not available.",
  407.         448, MB_STD, "The specified code page ID in the call to KbdSetCP is not correct.",
  408.         449, MB_STD, "The keyboard handle passed to KbdGetFocus to obtain the keyboard focus is not correct.",
  409.         450, MB_STD, "Session is not selectable.",
  410.         451, MB_STD, "The Session Manager could not switch to the parent process. The parent process is in the background or a pop-up is in progress.",
  411.         452, MB_STD, "Session not parent of specified child.",
  412.         453, MB_STD, "Invalid session start mode.",
  413.         454, MB_STD, "Invalid session start option.",
  414.         455, MB_STD, "Invalid session bonding option.",
  415.         456, MB_STD, "Invalid session select option.",
  416.         457, MB_STD, "The Session Manager cannot start the process in the foreground. It will be started in the background.",
  417.         458, MB_STD, "Invalid session stop option.",
  418.         459, MB_STD, "ERROR_SMG_BAD_RESERVE",
  419.         460, MB_STD, "Process not parent.",
  420.         461, MB_STD, "Data buffer length invalid.",
  421.         462, MB_STD, "The specified parent and child sessions are not bound together.",
  422.         463, MB_STD, "ERROR_SMG_RETRY_SUB_ALLOC",
  423.         464, MB_STD, "Kbd unavailable for detached process.",
  424.         465, MB_STD, "Vio unavailable for detached process.",
  425.         466, MB_STD, "Mouse unavailable for detached process.",
  426.         467, MB_STD, "The font requested is not available.",
  427.         468, MB_STD, "Your font cannot be loaded in the current video mode.",
  428.         469, MB_STD, "Invalid codepage.",
  429.         470, MB_STD, "System displays do not support codepage.",
  430.         471, MB_STD, "Current display does not support codepage.",
  431.         472, MB_STD, "Invalid code page.",
  432.         473, MB_STD, "Codepage list is too small.",
  433.         474, MB_STD, "Codepage not moved.",
  434.         475, MB_STD, "Mode switch initialization error.",
  435.         476, MB_STD, "Code page not found.",
  436.         477, MB_STD, "Unexpected slot returned.",
  437.         478, MB_STD, "Invalid trace option.",
  438.         479, MB_STD, "Internal resource error.",
  439.         480, MB_STD, "VioPopup cannot occur until the Shell is started.",
  440.         481, MB_STD, "The hard error and print screen functions are not available.",
  441.         482, MB_STD, "Codepage switch incomplete.",
  442.         483, MB_STD, "The transparent pop-up requested is not valid.",
  443.         484, MB_STD, "Critical section overflow.",
  444.         485, MB_STD, "Critical section underflow.",
  445.         486, MB_STD, "ERROR_VIO_BAD_RESERVE",
  446.         487, MB_STD, "Invalid address.",
  447.         488, MB_STD, "The number of selectors requested of DevHlp_AllocateGDTSelectors was zero.",
  448.         489, MB_STD, "There are not enough GDT selectors to satisfy the request.",
  449.         490, MB_STD, "Invalid selector.",
  450.         491, MB_STD, "The specified parameter for the session type is not correct.",
  451.         492, MB_STD, "The specified parameter for the first state of the windowed session is not correct.",
  452.         493, MB_STD, "The specified parameter for the session inherit option is not correct.",
  453.         494, MB_STD, "The VIO call issued by a VIO windowed program is not valid.",
  454.         495, MB_STD, "The caller of the Advanced VIO application is not valid.",
  455.         496, MB_STD, "The VioShieldInit or VioShieldTerm call has already been issued by the current session.",
  456.         497, MB_STD, "The call to VioCreatePS failed. No more Vio handles.",
  457.         498, MB_STD, "Vio error occurred, see error log.",
  458.         499, MB_STD, "Invalid display context.",
  459.         500, MB_STD, "ERROR_KBD_NO_CONSOLE",
  460.         501, MB_STD, "ERROR_MOUSE_NO_CONSOLE",
  461.         502, MB_STD, "Invalid Mouse handle.",
  462.         503, MB_STD, "Invalid debugging parms.",
  463.         504, MB_STD, "A keyboard API function was attempted from a Presentation Manager session.",
  464.         505, MB_STD, "A Presentation Manager session attempted to issue a mouse API function call.",
  465.         506, MB_STD, "Invalid icon file.",
  466.  
  467.         0x8000, MB_STD, "ERROR_SWAPPER_NOT_ACTIVE",
  468.         0x8001, MB_STD, "ERROR_INVALID_SWAPID",
  469.         0x8002, MB_STD, "ERROR_IOERR_SWAP_FILE",
  470.         0x8003, MB_STD, "ERROR_SWAP_TABLE_FULL",
  471.         0x8004, MB_STD, "ERROR_SWAP_FILE_FULL",
  472.         0x8005, MB_STD, "ERROR_CANT_INIT_SWAPPER",
  473.         0x8006, MB_STD, "ERROR_SWAPPER_ALREADY_INIT",
  474.         0x8007, MB_STD, "ERROR_PMM_INSUFFICIENT_MEMORY",
  475.         0x8008, MB_STD, "ERROR_PMM_INVALID_FLAGS",
  476.         0x8009, MB_STD, "ERROR_PMM_INVALID_ADDRESS",
  477.         0x800A, MB_STD, "ERROR_PMM_LOCK_FAILED",
  478.         0x800B, MB_STD, "ERROR_PMM_UNLOCK_FAILED",
  479.         0x800C, MB_STD, "ERROR_PMM_MOVE_INCOMPLETE",
  480.         0x800D, MB_STD, "ERROR_UCOM_DRIVE_RENAMED",
  481.         0x800E, MB_STD, "ERROR_UCOM_FILENAME_TRUNCATED",
  482.         0x800F, MB_STD, "ERROR_UCOM_BUFFER_LENGTH",
  483.         0x8010, MB_STD, "ERROR_MON_CHAIN_HANDLE",
  484.         0x8011, MB_STD, "ERROR_MON_NOT_REGISTERED",
  485.         0x8012, MB_STD, "ERROR_SMG_ALREADY_TOP",
  486.         0x8013, MB_STD, "ERROR_PMM_ARENA_MODIFIED",
  487.         0x8014, MB_STD, "ERROR_SMG_PRINTER_OPEN",
  488.         0x8015, MB_STD, "ERROR_PMM_SET_FLAGS_FAILED",
  489.         0x8016, MB_STD, "ERROR_INVALID_DOS_DD",
  490.  
  491.         0xFE02, MB_STD, "ERROR_CPSIO_CODE_PAGE_INVALID",
  492.         0xFE03, MB_STD, "ERROR_CPSIO_NO_SPOOLER",
  493.         0xFE04, MB_STD, "ERROR_CPSIO_FONT_ID_INVALID",
  494.  
  495.         0xFE09, MB_STD, "ERROR_CPSIO_INTERNAL_ERROR",
  496.         0xFE0A, MB_STD, "ERROR_CPSIO_INVALID_PTR_NAME",
  497.  
  498.         0xFE0D, MB_STD, "ERROR_CPSIO_NOT_ACTIVE",
  499.  
  500.         0xFE0F, MB_STD, "ERROR_CPSIO_PID_FULL",
  501.         0xFE10, MB_STD, "ERROR_CPSIO_PID_NOT_FOUND",
  502.  
  503.         0xFE13, MB_STD, "ERROR_CPSIO_READ_CTL_SEQ",
  504.  
  505.         0xFE15, MB_STD, "ERROR_CPSIO_READ_FNT_DEF",
  506.  
  507.         0xFE17, MB_STD, "ERROR_CPSIO_WRITE_ERROR",
  508.         0xFE18, MB_STD, "ERROR_CPSIO_WRITE_FULL_ERROR",
  509.         0xFE19, MB_STD, "ERROR_CPSIO_WRITE_HANDLE_BAD",
  510.  
  511.         0xFE32, MB_STD, "ERROR_CPSIO_SWIT_LOAD",
  512.  
  513.         0xFE35, MB_STD, "ERROR_CPSIO_INV_COMMAND",
  514.         0xFE36, MB_STD, "ERROR_CPSIO_NO_FONT_SWIT"
  515.     };
  516.  
  517.     USHORT SysErrCount = sizeof(SysErrMsg) / sizeof(ERRORMSG);
  518.  
  519.     CHAR szUnkSysError[] = "Unknown system error %u (%#04.4x)";
  520.     CHAR szUnkAppError[] = "Unknown application error %u (%#04.4x)";
  521.