DevHelp DeRegister

This service removes all of the monitors associated with the specified task from the specified monitor chain.

C
 USHORT APIENTRY DevHelp_DeRegister (USHORT MonitorPID,                                    USHORT  MonitorHandle,                                    PUSHORT MonitorsLeft) 

Assembler
 MOV  BX,monitor_PID          ; Process ID of monitor task MOV  AX,monitor_handle       ; MonitorCreate handle for chain MOV  DL,DevHlp_DeRegister

CALL [Device_Help] 

C

 * MonitorPID (USHORT) : Process ID of monitor task


 * MonitorHandle (USHORT) : MonitorCreate handle for chain


 * Monitorsleft (PUSHORT) : Number of monitors still registered in the chain, after deregistration.

Assembler
 MOV  BX,monitor_PID          ; Process ID of monitor task MOV  AX,monitor_handle       ; MonitorCreate handle for chain MOV  DL,DevHlp_DeRegister

CALL [Device_Help] 

C
Success Indicator: 0

Possible errors:
 * ERROR_MON_INVALID_HANDLE (381)
 * ERROR_MON_INVALID_PARMS (379)

Assembler
 'C' Clear if successful. AX = The number of monitors still registered in the chain, after deregistration.

'C' Set if error. AX = Error code. Possible errors: ERROR_MON_INVALID_HANDLE        (381) ERROR_MON_INVALID_PARMS         (379) 

Remarks
This function can be called only at task time in OS/2 mode. To remove a monitor from a monitor chain, the physical device driver must supply the Process ID (PID) of the process that owns the monitor being removed and the handle of the monitor chain that is affected. All monitors belonging to the specified PID are removed from the specified monitor chain. A single process can register more than one monitor with the same monitor chain. Therefore, DeRegister removes all monitors associated with the specified process from the specified monitor chain.

C

 * 1) include "dhcalls.h"

USHORT APIENTRY DevHelp_DeRegister (USHORT MonitorPID,                                    USHORT  MonitorHandle,                                    PUSHORT MonitorsLeft) 