DosPutMessage (FAPI): Difference between revisions
Appearance
	
	
No edit summary  | 
				mNo edit summary  | 
				||
| Line 16: | Line 16: | ||
  rc (USHORT) - return  |   rc (USHORT) - return  | ||
Return code descriptions are:  | Return code descriptions are:  | ||
* 0   | * 0   NO_ERROR  | ||
* 6   | * 6   ERROR_INVALID_HANDLE  | ||
* 19   | * 19  ERROR_WRITE_PROTECT  | ||
* 321   | * 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.  | ||
==Example Code==  | ==Example Code==  | ||
| Line 33: | Line 33: | ||
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>  | ||
| Line 52: | Line 52: | ||
Returns WORD  | Returns WORD  | ||
</PRE>  | </PRE>  | ||
[[Category:Dos]]  | [[Category:Dos]]  | ||
Revision as of 09:57, 12 May 2018
| It is recommended to use a newer replacement for this function. | |
| Replacement: | DosPutMessage | 
| Remarks: | This function is part of the Family API. | 
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