[Toc][Index]

DosSMRegisterDD


Bindings:  C, MASM 

Allows a device driver to register itself with the Session Manager. 
 DosSMRegisterDD      (RegisterData) 
 
 RegisterData (PREGISTERDATA) - input 
    Address of the structure containing the RegisterData necessary for 
    this call. 
    Length (USHORT) 
       Length of the data structure in bytes including Length itself. 
        Length is 8 for 
       OS/2 version 1.2. 
    Notification (USHORT) 
       Bit map that informs the session manager when to issue the 
       notification IOCTL to the device driver.  The bits of this word are 
       defined as follows: 
       Bit       Description 
       15-4      Reserved and must be set to zero. 
       3         Session termination notification.  Action = 8 
       2         Post-Session restore notification.  Action = 4 
       1         Post-Session save notification.  Action = 2 
       0         Pre-Session save notification.  Action = 1 
      
       Action is the unsigned integer in the Action field of the 
       notification IOCTL.  This tells the device driver what is 
       happening. Notice that the integers correspond to bits 0 to 3 being 
       set. 
    DDName (ULONG) 
       Address of the device name, as an ASCIIZ string (ie. SCREEN$, KBD$, 
       etc.). 
 rc (USHORT) - return 
    Return code descriptions are: 
    418       ERROR_SMG_INVALID_CALL 
    461       ERROR_SMG_INVALID_DATA_LENGTH 
    515       ERROR_SMG_TOO_MANY_DDS 
    516       ERROR_SMG_INVALID_NOTIFICATION 
 
 Remarks 
 The Session Manger calls the registered device driver during a session 
 switch, based on the specific form of notifications required. 
 The notification IOCTL passed to the device driver has the following 
 format: 
 Size      Definition 
 WORD      DevIOCtl packet length, including the length itself 
 WORD      Screen switch notification type 
 WORD      Incoming session number 
 WORD      Outgoing session number. 
 
 The device driver passes a bit map that informs the session manager when 
 the device driver needs to be called. The possible phases are: 
 Before a session save 
 After a session save (before a restore) 
 After a session restore 
 After a session termination. 
 
 The device drivers must issue this API only during their initialization 
 phase.  After the session manager has been initialized, it rejects all 
 further calls to this API, returning ERROR_SMG_INVALID_CALL. 

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