DosPutMessage (FAPI): Difference between revisions
Appearance
	
	
 Created page with "==Description== 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 display..."  | 
				mNo edit summary  | 
				||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
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.  | 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==  | ==Syntax==  | ||
  DosPutMessage (FileHandle, MessageLength, MessageBuffer)  | |||
  DosPutMessage  | |||
==Parameters==  | ==Parameters==  | ||
;   | ;FileHandle (USHORT) - input : Handle of the output file or device.  | ||
;MessageLength (USHORT) - input : Length of the message to be output.  | |||
; MessageLength (USHORT) - input : Length of the message to be output.    | ;MessageBuffer (PCHAR) - input : Address of the buffer that contains the returned message.  | ||
; MessageBuffer (PCHAR) - input : Address of the buffer that contains the returned message.  | |||
==Return Code==  | ==Return Code==  | ||
;rc (USHORT) - return:Return code descriptions are:  | |||
*0 NO_ERROR  | |||
Return code descriptions are:  | *6 ERROR_INVALID_HANDLE  | ||
*19 ERROR_WRITE_PROTECT  | |||
*321 ERROR_MR_UN_PERFORM  | |||
==Remarks==  | ==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.  | 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.    | 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.  | ||
==  | ==Bindings==  | ||
===C   | ===C===  | ||
<PRE>  | <PRE>  | ||
#define INCL_DOSMISC  | #define INCL_DOSMISC  | ||
| Line 38: | Line 28: | ||
USHORT  rc = DosPutMessage(FileHandle, MessageLength, MessageBuffer);  | USHORT  rc = DosPutMessage(FileHandle, MessageLength, MessageBuffer);  | ||
USHORT   | USHORT  FileHandle;    /* Handle of output file/device */  | ||
USHORT   | USHORT  MessageLength; /* Length of message buffer */  | ||
PCHAR   | PCHAR   MessageBuffer; /* Message buffer */  | ||
USHORT   | USHORT  rc;            /* return code */  | ||
</PRE>  | </PRE>  | ||
===MASM   | ===MASM===  | ||
<PRE>  | <PRE>  | ||
EXTRN  DosPutMessage:FAR  | EXTRN  DosPutMessage:FAR  | ||
| Line 57: | Line 47: | ||
Returns WORD  | Returns WORD  | ||
</PRE>  | </PRE>  | ||
[[Category:  | [[Category:Dos16]]  | ||
Latest revision as of 01:37, 26 January 2020
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.
Bindings
C
#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
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