📄 init.asm
字号:
.386p
.xlist
include vmm.inc
include drp.inc
include ilb.inc
include ios.inc
include debug.inc
.list
VXD_IDATA_SEG
Drv_Reg_Pkt DRP <'Port Vcd', DRP_MISC_PD, offset32 Port_Async_Request, \
offset32 milb, 'Virldisk PortDrv', 0, 0, 0>
VXD_IDATA_ENDS
;===========================================
VXD_LOCKED_DATA_SEG
public milb
milb ILB <> ;
VXD_LOCKED_DATA_ENDS
;============================================
VXD_LOCKED_CODE_SEG
DECLARE_VIRTUAL_DEVICE VIRLDISK, 4, 0, VDISK_Control, ,UNDEFINED_INIT_ORDER,,,Drv_Reg_Pkt
extrn Port_Async_Request:near
VDISK_Control PROC NEAR
Control_Dispatch SYS_DYNAMIC_DEVICE_INIT, OnDevInit
Control_Dispatch W32_DEVICEIOCONTROL, OnDeviceIOControl
clc
ret
VDISK_Control ENDP
BeginProc OnDeviceIOControl
xor eax,eax
ret
EndProc OnDeviceIOControl
VXD_LOCKED_CODE_ENDS
;================================================
VXD_ICODE_SEG
BeginProc OnDevInit
TRAP
push offset32 Drv_Reg_Pkt
VxdCall IOS_Register
add esp, 4
cmp Drv_Reg_Pkt.DRP_reg_result, DRP_REMAIN_RESIDENT
je Init_Done
cmp Drv_Reg_Pkt.DRP_reg_result, DRP_MINIMIZE
je Init_Done
mov eax, -1
stc
ret
Init_Done:
xor eax, eax
clc
ret
EndProc OnDevInit
VXD_ICODE_ENDS
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -