dos12.hlp (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
DosMonWrite (1.2)
Function Group  Overview                          Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
#define INCL_DOSMONITORS
 
USHORT DosMonWrite(pbOutBuf, pbDataBuf, cbDataBuf)
PBYTE pbOutBuf;      /* monitor-output buffer               */
PBYTE pbDataBuf;     /* buffer from which records are taken */
USHORT cbDataBuf;    /* number of bytes                     */
 
The DosMonWrite function writes one or more data records into a device's
output stream. The output-buffer structure identifies the device that
receives the data records.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
pbOutBuf   Points to the output-buffer structure for the monitor. The
           monitor must have been registered previously by using the
           DosMonReg function.
 
pbDataBuf  Points to the buffer that contains the data records to insert
           into the device's output stream.
 
cbDataBuf  Specifies the number of bytes of data records in the buffer
           pointed to by the pbDataBuf parameter.
 
Return Value
 
The return value is zero if the function is successful. Otherwise, it is an
error value, which may be one of the following:
 
     ERROR_MON_DATA_TOO_LARGE
     ERROR_MON_INVALID_PARMS
 
Comments
 
Device monitors must respond rapidly to avoid delaying input and output
(I/O). (This rapid response is especially important for keyboard monitors.)
A monitor process should be written so that any threads that read and write
the monitor data run at a high priority. These threads should never perform
operations that might delay them, such as waiting for I/O or a semaphore.
The monitor process can have other threads running at normal priority to
handle such operations.
 
See Also
 
DosMonClose, DosMonOpen, DosMonRead, DosMonReg