Jump to content

DosMonWrite

From EDM2
Revision as of 04:57, 26 January 2020 by Ak120 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This call moves a filtered data record from the monitor's private data area into the monitor's output buffer.

Syntax

DosMonWrite (BufferO, DataBuffer, Bytecnt)

Parameters

BufferO (PBYTE) - input
Address of the monitor output buffer.
DataBuffer (PBYTE) - input
Address of the monitor's private data area that contains a filtered data record of length Bytecnt. DosMonWrite moves this filtered data record into the monitor's output buffer.
Bytecnt (USHORT) - input
Number of bytes in the data record.

Return Code

rc (USHORT) - return
Return code descriptions are:
  • 0 - NO_ERROR
  • 8 - ERROR_NOT_ENOUGH_MEMORY
  • 379 - ERROR_MON_INVALID_PARMS
  • 384 - ERROR_MON_DATA_TOO_LARGE

Remarks

For a detailed description of the use of this call see the chapter "Character Device Monitors" in the IBM Operating System/2 Version 1.2 I/O Subsystems And Device Support Volume 1.

Bindings

C

#define INCL_DOSMONITORS
USHORT  rc = DosMonWrite(BufferO, DataBuffer, Bytecnt);
PBYTE   BufferO;       /* Monitor output buffer */
PBYTE   DataBuffer;    /* Buffer from which records are taken */
USHORT  Bytecnt;       /* Number of bytes */

USHORT  rc;            /* return code */

MASM

EXTRN  DosMonWrite:FAR
INCL_DOSMONITORS    EQU 1

PUSH@  OTHER   BufferO    ;Monitor output buffer
PUSH@  OTHER   DataBuffer ;Buffer from which records are taken
PUSH   WORD    Bytecnt    ;Number of bytes
CALL   DosMonWrite

Returns WORD