{{page>en:templates:fapiint}} ====== DosPutMessage ====== This call outputs the message in a buffer passed by a caller to the specified handle. The function formats the buffer to prevent words from wrapping if displayed to a screen. ===== Syntax ===== DosPutMessage (FileHandle, MessageLength, MessageBuffer) ===== Parameters ===== * FileHandle ([[USHORT]]) - input : Handle of the output file or device. * MessageLength ([[USHORT]]) - input : Length of the message to be output. * MessageBuffer ([[PCHAR]]) - input : Address of the buffer that contains the returned message. ===== Return Code ===== rc ([[USHORT]]) - return Return code descriptions are: * 0 NO_ERROR * 6 ERROR_INVALID_HANDLE * 19 ERROR_WRITE_PROTECT * 321 ERROR_MR_UN_PERFORM ===== Remarks ===== Screen width is assumed to be 80 characters. The DosPutMessage call counts a CR/LF in the 80 characters that it tries to write to the screen. If a word extends past column 78, it is put on the next line. DosPutMessage assumes the starting cursor position is column one when handling a word wrap. If the last character to be positioned on a line is a double-byte character that would be bisected, the rule above ensures that the character is not bisected. ===== Example Code ===== ==== C Binding ==== #define INCL_DOSMISC USHORT rc = DosPutMessage(FileHandle, MessageLength, MessageBuffer); USHORT FileHandle; /* Handle of output file/device */ USHORT MessageLength; /* Length of message buffer */ PCHAR MessageBuffer; /* Message buffer */ USHORT rc; /* return code */ ==== MASM Binding ==== EXTRN DosPutMessage:FAR INCL_DOSMISC EQU 1 PUSH WORD FileHandle ;Handle of output file/device PUSH WORD MessageLength ;Length of message buffer PUSH@ OTHER MessageBuffer ;Message buffer CALL DosPutMessage Returns WORD ===== Note ===== Text based on [[http://www.edm2.com/index.php/DosPutMessage_(FAPI)]] {{page>en:templates:fapi}}