1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
.386p
;******************************************************************
; I N C L U D E S
;******************************************************************
include vmm.inc
include debug.inc
;==================================================================
; V I R T U A L D E V I C E D E C L A R A T I O N
;==================================================================
DECLARE_VIRTUAL_DEVICE EPPFLEX, 1, 0, ControlProc, \
UNDEFINED_DEVICE_ID, UNDEFINED_INIT_ORDER
VxD_LOCKED_CODE_SEG
;==================================================================
;
; PROCEDURE: ControlProc
;
; DESCRIPTION:
; Device control procedure for the SKELETON VxD
;
; ENTRY:
; EAX = Control call ID
;
; EXIT:
; If carry clear then
; Successful
; else
; Control call failed
;
; USES:
; EAX, EBX, ECX, EDX, ESI, EDI, Flags
;
;==================================================================
BeginProc ControlProc
Control_Dispatch SYS_DYNAMIC_DEVICE_INIT, \
_OnSysDynamicDeviceInit, cCall, <ebx>
Control_Dispatch SYS_DYNAMIC_DEVICE_EXIT, \
_OnSysDynamicDeviceExit, cCall, <ebx>
Control_Dispatch W32_DEVICEIOCONTROL, \
_OnW32DeviceIoControl, cCall, <esi>
clc
ret
EndProc ControlProc
VxD_LOCKED_CODE_ENDS
END
|