возьми да и проверь для нескольких систем.. в ХП это выполняется, а вот для 2000 уже эти таблички в обратном порядке идут. сначала KeServiceDescriptorTable потом *Shadow. А в 2003 там вроде не 40 надо отнимать.. вобщем точно не помню - проверяй