Jump to content

DosMonWrite: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
Line 21: Line 21:
==Bindings==
==Bindings==
=== C ===
=== C ===
<PRE>
<code>
  #define INCL_DOSMONITORS
  #define INCL_DOSMONITORS
  USHORT  rc = DosMonWrite(BufferO, DataBuffer, Bytecnt);
  USHORT  rc = DosMonWrite(BufferO, DataBuffer, Bytecnt);

Revision as of 14:20, 25 May 2018

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