Windows


- 5


 

; ECX == 0 if unmasking (enabling), ECX != 0 if masking (disabling).

BeginProc VxD2_Mask_Change_Proc

call CheckOwner

jc short mcp9 ; ,

jcxz mcp9 ; , ()

;

; . VM

; .

;

mov hOwner,-1 ;

 

mcp9:

ret

EndProc VxD2_Mask_Change_Proc

 

; , ISR

BeginProc VxD2_VInt_Proc

mov eax,High_Pri_Device_Boost

VMMCall Adjust_Exec_Priority ;

ret

EndProc VxD2_VInt_Proc

 

; ISR (IRETs)

BeginProc VxD2_IRET_Proc

mov eax,-(High_Pri_Device_Boost)

VMMCall Adjust_Exec_Priority ;

ret

EndProc VxD2_IRET_Proc

 

ifdef DEBUG

BeginProc VxD2B_Debug_Query

Trace_Out "VxD2 has no debug command support."

clc

ret

End Proc VxD2B_Debug_Query

endif

 

;

; VxD2B_Control

;

 

CtlDisp macro x

Control_Dispatch x, VxD2B_&x

endm

 

Begin_Control_Dispatch VxD2B

CtlDisp Device_Init

ifdef DEBUG

CtlDisp Debug_Query

endif

End_Control_Dispatch VxD2B

 

VxD_LOCKED_CODE_ENDS

VxD_CODE_SEG

VxD_CODE_ENDS

 

subttl VxD Initialization

 

VxD_ICODE_SEG

 

; EP VxD2B_Device_Init -

;

; ENTRY ()

; EBP -

; EBX - VM

; DS,ES - FLAT

;

; EXIT ()

; SUCCESS ()

; Carry clear (" ")

; FAILURE ()

; Carry set (" ")

;

;

; WARNINGS ()

;

; NOTES ()

;

; CALLS ()

;

BeginProc VxD2B_Device_Init

Debug_Out "VxD2B_Device_Init"

 

mov edi,OFFSET32 IRQD




- -  - -  - -