Jump to content

DosMonWrite

From EDM2
Revision as of 16:19, 2 November 2016 by Ak120 (talk | contribs)

Description

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.

Example Code

C Binding

#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 Binding

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