include vmm.inc
include vxdldr.inc
; Install a hook procedure
mov esi, OFFSET32 HookProc
VMMcall Hook_Device_Service
jc error
This service is called internally by VXDLDR at various stages of its operation. Devices which need to be notified of VXDLDR activity should hook this service.
The system calls the hook procedure as follows:
mov eax, NotificationCode
; other registers depending on the NotificationCode
call HookProc
Code | Meaning |
---|---|
Ordinal of VXDLDR_Notify | General notification. |
VXDLDR_NOTIFY_OBJECTUNLOAD | A dynamic object is being uloaded. |
Register | Meaning |
---|---|
EDI | Address of the DeviceInfo structure for device being unloaded |
EBX | Address of the ObjectInfo structure for object being unloaded. |
EDX | Object number. |
Each hook must preserve all registers and propagate the call down the chain. Any registers not explicitly defined are reserved for future extension of this service.
Do not use the DI_DDB member in the DeviceInfo structure because the DDB may have been freed.