Unhook_Device_Servicef

include vmm.inc 

GetDeviceServiceOrdinal eax, Service
mov esi, HookProc
VMMCall Unhook_Device_Service
 

Unhooks a device service that was previously hooked with the Hook_Device_Service service. Uses Flags.

ServiceOrdinal
The high word is the VxD ID and the low word is the service number. If the VxD ID is UNDEFINED_DEVICE_ID, then the EDI register should contain the address of the eight character space-padded VxDName.
Service
Name of the service being unhooked.
HookProc
Hook procedure to remove from the list.

In order for Hook_Device_Service to succeed, the hook to be unhooked and all hooks that were made after the specified hook must have been declared as Hook_Proc's using the BeginProc macro. This macro is provided to correctly generate the procedure header necessary for creating a hook chain that can be processed quickly and still allows hooks to be removed from the chain.

See Also

BeginProc, Hook_Device_Service