source: branches/development/src/win32k/calltrees.txt@ 10366

Last change on this file since 10366 was 2933, checked in by bird, 26 years ago

Updated and added some IOCTL trees.

File size: 4.2 KB
Line 
1A overview of the win32k device driver.
2----------------------------------------
3
4Notation:
5---------
6
7--> <routine name> (<source module>)
8 A Call to the given routine. The procedings of that routine
9 continues at the next indent level.
10<-- [return value description]
11<some state description>:
12<action>
13 Identifing when and what happens.
14
15
16Init packet - $elf
17-----------------------
18_strategyAsm0 (devFirst.asm)
19_strategyAsm (devFirst.asm)
20--> strategy(PRPH pRpH, unsigned short usDev) (d16strat.c)
21 init - dev 0:
22 --> dev0Init(PRPINITIN pRpIn, PRPINITOUT pRpOut) (d16init.c)
23 <-- (STATUS_DONE - can't fail)
24 <-- (fwd)
25<-- (fwd)
26
27
28Init packet - $win32k
29----------------------
30_strategyAsm1 (devFirst.asm)
31_strategyAsm (devFirst.asm)
32--> strategy(PRPH pRpH, unsigned short usDev) (d16strat.c)
33 init - dev 1:
34 --> dev1Init(PRPINITIN pRpIn, PRPINITOUT pRpOut) (d16init.c)
35 --> ProbeKrnl (probkrnl.c)
36 <Opens $elf>
37 <issues IO Ctrl to $elf - D16_IOCTL_GETKRNLINFO>
38 <Opens $elf>
39 <issues IO Ctrl to $elf - D16_IOCTL_VERIFYIMPORTTAB>
40 <-- (NO_ERROR - may fail)
41 <Opens $elf>
42 <issue IO Ctrl to $elf - D16_IOCTL_RING0INIT>
43 <-- (STATUS_DONE - may fail)
44 <-- (fwd)
45<-- (fwd)
46
47
48D16_IOCTL_GETKERNELINFO packet
49------------------------------
50_strategyAsm0 (devFirst.asm)
51_strategyAsm (devFirst.asm)
52--> strategy(PRPH pRpH, unsigned short usDev) (d16strat.c)
53 gen IO-Ctrl - dev 0:
54 --> dev0GenIOCtl(PRP_GENIOCTL pRp) (d16strat.c)
55 D16_IOCTL_GETKERNELINFO:
56 --> CallGetKernelInfo32(ULONG addressKrnlInfoBuf) (devfirst.asm)
57 --> GetKernelInfo32(PKRNLINFO pKrnlInfo) (d32init.c)
58 --> GetOS2KrnlMTE(void) (devfirst.asm)
59 <--
60 <--
61 <--
62 <--
63 <--
64<--
65
66D16_IOCTL_VERIFYIMPORTTAB packet
67--------------------------------
68_strategyAsm0 (devFirst.asm)
69_strategyAsm (devFirst.asm)
70--> strategy(PRPH pRpH, unsigned short usDev) (d16strat.c)
71 gen IO-Ctrl - dev 0:
72 --> dev0GenIOCtl(PRP_GENIOCTL pRp) (d16strat.c)
73 D16_IOCTL_VERIFYIMPORTTAB:
74 --> CallVerifyImportTab32(void) (devlast.c)
75 --> VerifyImportTab32(void) (d32init.c)
76 --> GetOS2KrnlMTE(void) (devfirst.asm)
77 <--
78 --> interpretFunctionProlog32(..)
79 <--
80 --> interpretFunctionProlog16(..)
81 <--
82 <--
83 <--
84 <--
85 <--
86<--
87
88
89D16_IOCTL_RING0INIT packet
90---------------------------
91_strategyAsm0 (devFirst.asm)
92_strategyAsm (devFirst.asm)
93--> strategy(PRPH pRpH, unsigned short usDev) (d16strat.c)
94 gen IO-Ctrl - dev 0:
95 --> dev0GenIOCtl(PRP_GENIOCTL pRp) (d16strat.c)
96 D16_IOCTL_RING0INIT:
97 --> R0Init16(PRP_GENIOCTL pRp) (d16init.c)
98 --> CallR0Init32(LIN pRpInit) (devlast.asm)
99 --> R0Init32(RP32INIT *pRpInit) (d32init.c)
100 --> heapInit(unsigned cbSize) (malloc.c)
101 ...
102 <--
103 --> ldrInit(void) (ldr.cpp)
104 ...
105 <--
106 --> procInit(void) (d32init.c)
107 ...
108 <--
109 <--
110 <--
111 <--
112 <--
113 <--
114<--
115
116
Note: See TracBrowser for help on using the repository browser.