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