当前位置:首页>维修大全>生活>

大家知道HOOK是什么意思吗

大家知道HOOK是什么意思吗

更新时间:2023-04-19 07:45:24

大家知道HOOK是什么意思吗

hook是一个英语单词,名词、动词,作名词时意思是“挂钩,吊钩”,作及物动词时意思是“钩住;引上钩”,作不及物动词时意思是“钩住;弯成钩状”。

.hook是Windows中提供的一种用以替换DOS下“中断”的系统机制。

双语例句

1、Hang your coat up on that hook.

把你的上衣挂在那个挂钩上。

2、Hang your coat on the hook.

把你的外套挂在那个钩上。

3、You can tap into key moments in that lifecycle by implementing one or more of the lifecycle hook interfaces.

你可以通过实现一个或多个生命周期钩子接口,切入到生命周期中的关键时间点。

Hook原理

每一个Hook都有一个与之相关联的指针列表,称之为钩子链表,由系统来维护。这个列表的指针指向指定的,应用程序定义的,被Hook子程调用的回调函数,也就是该钩子的各个处理子程序。当与指定的Hook类型关联的消息发生时,系统就把这个消息传递到Hook子程。

一些Hook子程可以只监视消息,或者修改消息,或者停止消息的前进,避免这些消息传递到下一个Hook子程或者目的窗口。最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。

Windows 并不要求钩子子程的卸载顺序一定得和安装顺序相反。每当有一个钩子被卸载,Windows 便释放其占用的内存,并更新整个Hook链表。如果程序安装了钩子,但是在尚未卸载钩子之前就结束了,那么系统会自动为它做卸载钩子的操作。

钩子子程是一个应用程序定义的回调函数(CALLBACK Function),不能定义成某个类的成员函数,只能定义为普通的C函数。用以监视系统或某一特定类型的事件,这些事件可以是与某一特定线程关联的,也可以是系统中所有线程的事件。

更多栏目