DDBISR.ASM
上传用户:lx1888888
上传日期:2007-01-04
资源大小:136k
文件大小:2k
源码类别:

驱动编程

开发平台:

Visual C++

  1.     .386p
  2. ;******************************************************************************
  3. ;                I N C L U D E S
  4. ;******************************************************************************
  5. include vmm.inc
  6. include debug.inc
  7. ;============================================================================
  8. ;        V I R T U A L   D E V I C E   D E C L A R A T I O N
  9. ;============================================================================
  10. DECLARE_VIRTUAL_DEVICE   VXDISR, 1, 0, ControlProc, UNDEFINED_DEVICE_ID, 
  11.                         UNDEFINED_INIT_ORDER
  12. VxD_LOCKED_CODE_SEG
  13. ;===========================================================================
  14. ;
  15. ;   PROCEDURE: ControlProc
  16. ;
  17. ;   DESCRIPTION:
  18. ;    Device control procedure for the SKELETON VxD
  19. ;
  20. ;   ENTRY:
  21. ;    EAX = Control call ID
  22. ;
  23. ;   EXIT:
  24. ;    If carry clear then
  25. ;        Successful
  26. ;    else
  27. ;        Control call failed
  28. ;
  29. ;   USES:
  30. ;    EAX, EBX, ECX, EDX, ESI, EDI, Flags
  31. ;
  32. ;============================================================================
  33. BeginProc ControlProc
  34.     Control_Dispatch DEVICE_INIT, _OnDeviceInit, cCall, <ebx>
  35.     Control_Dispatch SYSTEM_EXIT, _OnSystemExit, cCall, <ebx>
  36. Control_Dispatch SYS_DYNAMIC_DEVICE_INIT, _OnSysDynamicDeviceInit, cCall, <ebx>
  37. Control_Dispatch SYS_DYNAMIC_DEVICE_EXIT, _OnSysDynamicDeviceExit, cCall
  38.     clc
  39.     ret
  40. EndProc ControlProc
  41. PUBLIC _HwIntProcThunk
  42. _HwIntProcThunk PROC NEAR ; called from C, needs underscore
  43.     sCall HwIntProcHandler, <ebx, eax, edx>
  44. or   ax, ax
  45. jnz    clearc
  46.     stc
  47. ret
  48. clearc:
  49.     clc
  50. ret
  51.  _HwIntProcThunk ENDP
  52. VxD_LOCKED_CODE_ENDS
  53. VxD_CODE_SEG
  54. BeginProc _EventThunk
  55.     sCall EventHandler, <ebx,edx,ebp>
  56. ret
  57. EndProc _EventThunk
  58. VXD_CODE_ENDS
  59.     END