DosPutMessage (FAPI): Difference between revisions
Appearance
mNo edit summary |
mNo edit summary |
||
(4 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 (FileHandle, MessageLength, MessageBuffer) | ||
==Parameters== | ==Parameters== | ||
Line 12: | Line 10: | ||
==Return Code== | ==Return Code== | ||
;rc (USHORT) - return:Return code descriptions are: | |||
Return code descriptions are: | *0 NO_ERROR | ||
* 0 | *6 ERROR_INVALID_HANDLE | ||
* 6 | *19 ERROR_WRITE_PROTECT | ||
* 19 | *321 ERROR_MR_UN_PERFORM | ||
* 321 | |||
==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 31: | 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 50: | Line 47: | ||
Returns WORD | Returns WORD | ||
</PRE> | </PRE> | ||
[[Category: | [[Category:Dos16]] |
Latest revision as of 02: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