[Toc][Index]

DosMonReg


Bindings:  C, MASM 

This call establishes an input and output buffer structure to monitor an 
I/O stream for a character device. 
 DosMonReg     (Handle, BufferI, BufferO, Posflag, Index) 
 
 Handle (HMONITOR) - input 
    Device handle returned from a previous DosMonOpen call. 
 BufferI (PBYTE) - input 
    Address of the monitor's input buffer.  The monitor dispatcher moves 
    data records into this buffer from the device driver (if the monitor 
    is the first monitor in the monitor chain) or from the previous 
    monitor, if any, in the monitor chain.  The monitor takes data from 
    this buffer for filtering by calling DosMonRead. 
 BufferO (PBYTE) - input 
    Address of the monitor's output buffer.  The monitor places filtered 
    data into this buffer by calling DosMonWrite.  The monitor dispatcher 
    moves data records from this buffer to the device driver (if the 
    monitor is the last monitor in the monitor chain) or to the next 
    monitor, if any, in the monitor chain. 
 Posflag (USHORT) - input 
    Used to specify the placement of a monitor's buffers with the monitor 
    chain (FIRST, LAST or DEFAULT) and whether one or two threads are 
    created by the monitor dispatcher to handle data movement. 
    Value     Definition 
    0         DEFAULT (no position preference) and one thread for data 
              movement. 
    1         FIRST (monitor placed at beginning of monitor chain) and one 
              thread for data movement. 
    2         LAST (monitor placed at end of monitor chain) and one thread 
              for data movement. 
    3         DEFAULT with two threads for data movement. 
    4         FIRST with two threads for data movement. 
    5         LAST with two threads for data movement. 
   
    The first monitor in a monitor chain that registers as FIRST is placed 
    at the head of the monitor chain.  The next monitor that registers as 
    FIRST follows the last monitor registered as FIRST, and so on. 
     Similarly, the first monitor that registers as LAST is placed at the 
    end of the monitor chain. The next monitor that registers as LAST is 
    placed before the last monitor that registered as LAST, and so on. 
     The first monitor that registers as DEFAULT is placed before the last 
    monitor, if any, that registered as LAST.  The next monitor that 
    registers as DEFAULT is placed before the last monitor that registered 
    as DEFAULT, and so on. 
 Index (USHORT) - input 
    Device specific value. For the keyboard it pertains to the session you 
    wish to register a monitor on.  For the printer it pertains to the 
    data or code page monitor chain. 
 rc (USHORT) - return 
    Return code descriptions are: 
    0         NO_ERROR 
    8         ERROR_NOT_ENOUGH_MEMORY 
    165       ERROR_MONITORS_NOT_SUPPORTED 
    379       ERROR_MON_INVALID_PARMS 
    381       ERROR_MON_INVALID_HANDLE 
    382       ERROR_MON_BUFFER_TOO_SMALL 
 
 Remarks 
 For a detailed description 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. 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs