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 10: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