This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS
Note: This is legacy API call. It is recommended to use 32-bit equivalent
This call inserts variable text string information into the body of a message. This is useful when messages are loaded before insertion text strings are known.
DosInsMessage (IvTable, IvCount, MsgInput, MsgInLength, DataArea, DataLength,MsgLength)
rc (USHORT) - return
Return code descriptions are:
DosInsMessage returns an error indicating that IvCount is out of range when IvCount is greater than 9. A default message is also placed in the caller's buffer. Refer to DosGetMessage for details on the default messages. If the numeric value of x in the %x sequence for %1through%9 is less than or equal to IvCount, then text insertion, by substitution for %x, is performed for all occurrences of %x in the body of the message. Otherwise text insertion is ignored and the %x sequence is returned unchanged in the message. Text insertion is performed for all text strings defined by IvCount and IvTable.
Variable data insertion does not depend on a blank character delimiter nor are blanks automatically inserted.
#define INCL_DOSMISC USHORT rc = DosInsMessage(IvTable, IvCount, MsgInput, MsgInLength, DataArea, DataLength, MsgLength); PCHAR FAR * IvTable; /* Table of variables to insert */ USHORT IvCount; /* Number of variables */ PSZ MsgInput; /* Address of input message */ USHORT MsgInLength; /* Length of input message */ PCHAR DataArea; /* Updated message (returned) */ USHORT DataLength; /* Length of updated message buffer */ PUSHORT MsgLength; /* Length of updated message (returned) */ USHORT rc; /* return code */
EXTRN DosInsMessage:FAR INCL_DOSMISC EQU 1 PUSH@ OTHER IvTable ;Table of variables to insert PUSH WORD IvCount ;Number of variables PUSH@ ASCIIZ MsgInput ;Input message string PUSH WORD MsgInLength ;Length of input message PUSH@ OTHER DataArea ;Updated message (returned) PUSH WORD DataLength ;Length of updated message buffer PUSH@ WORD MsgLength ;Length of updated message (returned) CALL DosInsMessage
Returns WORD
Text based on http://www.edm2.com/index.php/DosInsMessage