[ros-kernel] Microsoft-incompatible (== wrong!) definition of KeAddSystemServiceTable

KJK::Hyperion noog at libero.it
Wed Oct 8 21:21:10 CEST 2003


I'm surprised that this went unnoticed so far. We define 
KeAddSystemServiceTable as:

BOOLEAN
STDCALL
KeAddSystemServiceTable (
	PSSDT	SSDT,
	PULONG	ServiceCounterTable,
	ULONG	NumberOfServices,
	PSSPT	SSPT,
	ULONG	TableIndex
	);

with PSSPT defined as:

typedef struct t_SSPT   {
                 unsigned int    ParamBytes;
} SSPT, *PSSPT;

Well, it's wrong. It should be:

typedef struct t_SSPT   {
                 unsigned char    ParamBytes;
} SSPT, *PSSPT;

No, KeAddSystemServiceTable isn't documented. But it's a public symbol 
(KeServiceDescriptorTable too), it's well known, and it should match the 
Microsoft definition of it



More information about the Ros-kernel mailing list