Article # 57, added by Geoworks, historical record
| first |
previous |
index |
next |
last |
Setting up a callback routine for driver routines.
Here is how to set up the callback pointer for a driver routine: passParams.dx = PtrToSegment( MemLockFixedOrMovable( &CallbackRoutine ) ); passParams.cx = PtrToOffset( &CallbackRoutine ); where CallbackRoutine is a routine that you want called by the given driver routine. Here is an example: void _pascal CallbackRoutine( void ) { ... } void YourInitRoutine( void ) { DriverPassParams passParams; DriverReturnParams returnParams; passParams.dx = PtrToSegment( MemLockFixedOrMovable( &CallbackRoutine ) ); passParams.cx = PtrToOffset( &CallbackRoutine ); DriverCallEntryPoint( driverHandle, DR_SOME_DRIVER_ENTRY_POINT, &passParams, &returnParams ); if ( CARRY_FLAG & returnParams.flags ) { UserStandardSound( SST_ERROR ); } }