BOOL __cdecl ControlDispatcher(DWORD dwControlMessage,DWORD EBX,DWORD EDX,DWORD ESI,DWORD EDI,DWORD ECX) { switch(dwControlMessage) { case SYS_DYNAMIC_DEVICE_INIT: OnSysDynamicDeviceInit(); return TRUE; // case DEVICE_INIT: case INIT_COMPLETE: bUpperTableInited = FALSE; return OnSysDynamicDeviceInit(); case SYS_DYNAMIC_DEVICE_EXIT: return OnSysDynamicDeviceExit(); case W32_DEVICEIOCONTROL: return OnW32Deviceiocontrol((PIOCTLPARAMS)ESI); case DESTROY_PROCESS: OnDestroyProcess(EDX); return TRUE; case SYSTEM_EXIT: OnSystemExit((VMHANDLE)EBX); return TRUE; case DESTROY_THREAD: OnDestroyThread(EDI); break; default: break; } return TRUE; }
//**************************************************************************** //**************************************************************************** VOID SBBSExec::OnSystemExit(VMHANDLE hSysVM) { DBTRACE(0,"OnSystemExit"); OnSysDynamicDeviceExit(); }