Driver

(moved some stuff to the Talk:Driver page

Found error in DosGetMessage API return codes 

Really it is OS/2 API bugreport

/* Some words on how create message files: This example demonstrates how to create a message with inserts from a system message file. It  creates a file named "SAMPLE.TXT" with the following 3 lines in it: ;sample system message file - SAMPLE.MSG ... DOS DOS1000E: %1 Error at Station %2%0 Note: stands for '\n' Note2:if you write  then you will see that MKMSGF is really guano It then generates a message file by issuing the following command at an OS/2 command prompt: MKMSGF SAMPLE.TXT SAMPLE.MSG */

int main(VOID) { UCHAR   *IvTable[2] = {0};                   /* Table of variables to insert */ UCHAR  szOutMsg[80]= "";                    /* Message buffer */ ULONG  ulMsgLen    = 0;                     /* Length of returned message */ APIRET rc          = 0;                     /* Return code */ IvTable[0] = "Automation Failure"; IvTable[1] = "69B"; /* Create error message with inserts from system message file SAMPLE.MSG */ rc = DosGetMessage(IvTable,         /* Message insert pointer array */                     2,                /* Number of inserts */                     szOutMsg,         /* Output message */                     sizeof(szOutMsg), /* Length of output message area */                     100L,            /* Number of message requested */                     "SAMPLE.MSG",     /* Message file (created by MKMSGF) */                     &ulMsgLen);       /* Length of resulting output message */ if (rc != NO_ERROR) { printf("DosGetMessage error: return code = %u\n", rc); return 1; } printf("%s\n", szOutMsg); return NO_ERROR; }
 * 1) define INCL_DOSMISC   /* Miscellaneous values */
 * 2) define INCL_DOSERRORS /* DOS Error values */
 * 3) include 
 * 4) include 
 * 5) include 

/*--- Output will be as - C:>message.exe DosGetMessage error: return code = 316 /*--- Output sould be as - DosGetMessage error: return code = 317 -*/

/*      DosGetMessage returns one of the following values: .......    316            ERROR_MR_MSG_TOO_LONG 317           ERROR_MR_MID_NOT_FOUND */