[Toc][Index]

DosCallback


Bindings:  C, MASM 

This call provides a privilege level 2 IOPL segment to call a privilege 
level 3 application segment. 
 DosCallback    (Ring3Routine) 
 
 Ring3Routine (PFN) - input 
    Address of the privilege level 3 application routine to be called. 
 
 Remarks 
 This function allows a routine executing with I/O privilege (at privilege 
 level 2) to call a segment that is executing at privilege level 3 and 
 also to have the target routine execute at privilege level 3; for 
 example, not to allow/require the target routine to be privilege level 2 
 conforming. 
 The requested routine is given control at privilege level 3 and when it 
 completes execution and returns, return is made to the privilege level 2 
 calling routine. 
 All registers except FLAGs are passed intact across this call return 
 sequence and may be used to pass parameters or data. Any addresses passed 
 from privilege level 2 to privilege level 3 must be based on privilege 
 level 3 selectors only as the privilege level 3 code does not have proper 
 addressability to any privilege level 2 data selectors. 
 The privilege level 2 stack can not be used to pass data to the privilege 
 level 3 routine. 
 If DosCallback is used in a nested fashion such that a privilege level 3 
 routine issues a call to a privilege level 2 routine while performing a 
 "Callback" operation (after being invoked by "Callback" but before having 
 issued a Far RET back to the privilege level 2 code), any subsequent 
 DosCallback requests must complete execution and issue their 
 corresponding Far RETs in last-in-first-out (LIFO) order. 

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