[1886] 2021-04-18_内核APC深入理解

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-16
2021-04-18_内核APC深入理解 A P C M i n i o n s   D a y 1   2 0 2 1 - 0 4 - 1 8 A P C ( ) A P C 1   A P C - -   1   :   1   ( ) A P C 2   A P C 线 线 A P C   - -   1   : N 线 1   : k d > d t _ K A P C n t ! _ K A P C +   0   x   0 0 0   T y p e   : U C h a r   / / +   0   x   0 0 1   S p a r e B y t e   0   : U C h a r   / /   - - T y p e u s h o r t +   0   x   0 0 2   S i z e   : U C h a r   / / ( ) +   0   x   0 0 3   S p a r e B y t e   1   : U C h a r   / / +   0   x   0 0 4   S p a r e L o n g   0   : U i n t   4   B +   0   x   0 0 8   T h r e a d   : P t r   6 4   _ K T H R E A D / / A P C 线 +   0   x   0 1 0   A p c L i s t E n t r y   : _ L I S T _ E N T R Y   / / A P C +   0   x   0 2 0   K e r n e l R o u t i n e   : P t r   6 4   v o i d   / / +   0   x   0 2 8   R u n d o w n R o u t i n e   : P t r   6 4   v o i d +   0   x   0 3 0   N o r m a l R o u t i n e   : P t r   6 4   v o i d +   0   x   0 3 8   N o r m a l C o n t e x t   : P t r   6 4   V o i d +   0   x   0 4 0   S y s t e m A r g u m e n t   1   : P t r   6 4   V o i d +   0   x   0 4 8   S y s t e m A r g u m e n t   2   : P t r   6 4   V o i d +   0   x   0 5 0   A p c S t a t e I n d e x   : C h a r   / / A P C +   0   x   0 5 1   A p c M o d e   : C h a r / / K e r n e l M o d e +   0   x   0 5 2   I n s e r t e d   : U C h a r / / A P C
A P C A P C A P C A P C ! 1   : k d > d t _ K T H R E A D n t ! _ K T H R E A D +   0   x   0 5 0   A p c S t a t e   : _ K A P C _ S T A T E   / / A P C +   0   x   0 8 8   A p c Q u e u e L o c k   : U i n t   8   B   / / A P C +   0   x   1 0 0   A p c Q u e u e a b l e   : P o s   5   ,   1   B i t   / / A P C +   0   x   1   c   4   K e r n e l A p c D i s a b l e : I n t   2   B   / / A P C +   0   x   1   c   6   S p e c i a l A p c D i s a b l e : I n t   2   B   / / A P C +   0   x   1   f   0   A p c S t a t e I n d e x   : U C h a r / / A P C +   0   x   2 3 0   A p c S t a t e P o i n t e r   : [   2   ] P t r   6 4   _ K A P C _ S T A T E   / / A P C +   0   x   2 4 0   S a v e d A p c S t a t e   : _ K A P C _ S T A T E   / / A P C 1   : k d > d t _ K A P C _ S T A T E n t ! _ K A P C _ S T A T E +   0   x   0 0 0   A p c L i s t H e a d   : [   2   ] _ L I S T _ E N T R Y / /   0     1   +   0   x   0 2 0   P r o c e s s   : P t r   6 4   _ K P R O C E S S / / +   0   x   0 2 8   K e r n e l A p c I n P r o g r e s s : U C h a r / / A P C +   0   x   0 2 9   K e r n e l A p c P e n d i n g : U C h a r   / / A P C +   0   x   0 2   a U s e r A p c P e n d i n g   : U C h a r / / A P C A P C A P C A P C 线 线 线 线 线 A P C A P C 线 +   0   x   0 5 0   A p c S t a t e +   0   x   2 4 0 S a v e d A p c S t a t e A p c S t a t e P o i n t e r [ _ K A P C . A p c S t a t e I n d e x ] S a v e d A p c S t a t e K T H R E A D . A p c S t a t e I n d e x A p c S t a t e A p c S t a t e K A P C A p c S t a t e I n d e x ( ) K T H R E A D A p c S t a t e I n d e x 线
A P C A P C A P C K e I n i t i a l i z e A p c A P C E n v i r o n m e n t O r i g i n a l A p c E n v i r o n m e n t 线 N o r m a l R o u t i n e ! =   0   & & A p c M o d e = =   0 N o r m a l R o u t i n e = =   0   & & A p c M o d e = =   0   & & N o r m a l C o n t e x t = =   0   ( ) V O I D K e I n i t i a l i z e A p c ( I N P R K A P C A p c ,   / / I N P R K T H R E A D T h r e a d , / / 线 I N K A P C _ E N V I R O N M E N T E n v i r o n m e n t , / / K A P C . A p c S t a t e I n d e x I N P K K E R N E L _ R O U T I N E K e r n e l R o u t i n e , I N P K R U N D O W N _ R O U T I N E R u n d o w n R o u t i n e O P T I O N A L , I N P K N O R M A L _ R O U T I N E N o r m a l R o u t i n e O P T I O N A L , I N K P R O C E S S O R _ M O D E A p c M o d e O P T I O N A L , I N P V O I D N o r m a l C o n t e x t O P T I O N A L ) t y p e d e f e n u m _ K A P C _ E N V I R O N M E N T { O r i g i n a l A p c E n v i r o n m e n t , A t t a c h e d A p c E n v i r o n m e n t , C u r r e n t A p c E n v i r o n m e n t , I n s e r t A p c E n v i r o n m e n t } K A P C _ E N V I R O N M E N T ;
K i I n s e r t Q u e u e A p c 线 A P C A P C 线 A t t a c h e d A p c E n v i r o n m e n t 线 !   - - C u r r e n t A p c E n v i r o n m e n t I n s e r t A p c E n v i r o n m e n t C u r r e n t A p c E n v i r o n m e n t K e I n i t i a l i z e A p c I n s e r t A p c E n v i r o n m e n t K i I n s e r t Q u e u e A p c ( K i K e ) ( ) . . . I R Q L I P I 线 A P C - - -   线
K i D e l i v e r A p c A P C K i I n s e r t Q u e u e A p c K i I n s e r t Q u e u e A p c K i I n s e r t Q u e u e A p c A P C V O I D F A S T C A L L K i I n s e r t Q u e u e A p c ( I N P K A P C I n A p c , I N K P R I O R I T Y I n c r e m e n t   )

K e E n t e r G u a r d e d R e g i o n T h r e a d M S D N A P C S p e c i a l A p c D i s a b l e K i D e l i v e r A p c A P C S p e c i a l A p c D i s a b l e F A L S E A P C K i U n w a i t T h r e a d 线 线 线 A P C K i E x i t D i s p a t c h e r ( L o c k H a n d l e . O l d I r q l ) I R Q L K i I n s e r t Q u e u e A p c 线 线 线 S w a p C o n t e x t 线 K i D e l i v e r A p c V O I D K i D e l i v e r A p c ( I N K P R O C E S S O R _ M O D E P r e v i o u s M o d e , I N P K E X C E P T I O N _ F R A M E E x c e p t i o n F r a m e , I N P K T R A P _ F R A M E T r a p F r a m e )
A P C A P C 1 .   A P C A P C K e r n e l R o u t i n e A P C _ L E V E L   A P C _ L E V E L
2 .   A P C N o r m a l R o u t i n e P A S S I V E _ L E V E L   P A S S I V E _ L E V E L K e r n e l R o u t i n e N o r m a l R o u t i n e         I R Q L 线   I R Q L         T h r e a d - > A p c S t a t e . K e r n e l A p c I n P r o g r e s s = T R U E ;   i f   K e r n e l A p c I n P r o g r e s s 线 w i n   7   G a t e W a i t   G a t e W a i t G a t e W a i t W a i t   G a t e W a i t W a i t W a i t G a t e W a i t G a t e W a i t G a t e W a i t

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则