2 #ifndef __NTOS_SERVICE_H
3 #define __NTOS_SERVICE_H
6 /* number of entries in the service descriptor tables */
7 #define SSDT_MAX_ENTRIES 4
14 /* System Service Dispatch Table */
15 typedef struct t_SSDT {
19 /* System Service Parameters Table */
20 typedef struct t_SSPT {
21 unsigned int ParamBytes;
24 typedef struct t_KeServiceDescriptorTableEntry {
26 PULONG ServiceCounterTable;
27 unsigned int NumberOfServices;
30 } SSDT_ENTRY, *PSSDT_ENTRY;
34 #endif /* __USE_W32API */
37 /* --- NTOSKRNL.EXE --- */
38 #if defined(__NTOSKRNL__)
41 KeServiceDescriptorTable[SSDT_MAX_ENTRIES] __declspec(dllexport);
45 KeServiceDescriptorTable[SSDT_MAX_ENTRIES] __declspec(dllimport);
50 KeServiceDescriptorTableShadow[SSDT_MAX_ENTRIES];
57 KeAddSystemServiceTable (
59 PULONG ServiceCounterTable,
60 ULONG NumberOfServices,
65 #endif /* __USE_W32API */
67 #endif /* __NTOS_SERVICE_H */