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
12 /* System Service Dispatch Table */
13 typedef PVOID (NTAPI
* SSDT
)(VOID
);
16 /* System Service Parameters Table */
17 typedef UCHAR SSPT
, *PSSPT
;
19 typedef struct t_KeServiceDescriptorTableEntry
{
21 PULONG ServiceCounterTable
;
22 ULONG NumberOfServices
;
25 } SSDT_ENTRY
, *PSSDT_ENTRY
;
27 #endif /* __USE_W32API */
30 /* --- NTOSKRNL.EXE --- */
31 #if defined(__NTOSKRNL__)
35 KeServiceDescriptorTable
[SSDT_MAX_ENTRIES
] __declspec(dllexport
);
41 KeServiceDescriptorTable
[SSDT_MAX_ENTRIES
];
43 #else /* __NTOSKRNL__ */
47 KeServiceDescriptorTable
[SSDT_MAX_ENTRIES
] __declspec(dllimport
);
53 KeServiceDescriptorTable
[SSDT_MAX_ENTRIES
];
55 #endif /* __NTOSKRNL__ */
59 KeServiceDescriptorTableShadow
[SSDT_MAX_ENTRIES
];
66 KeAddSystemServiceTable (
68 PULONG ServiceCounterTable
,
69 ULONG NumberOfServices
,
74 #endif /* __USE_W32API */
76 #endif /* __NTOS_SERVICE_H */