[pso] Despre [tema1]Windows - KeServiceSystemTable
Razvan Deaconescu
razvand at cs.pub.ro
Sun Mar 25 23:06:27 EEST 2007
omar Chouydary wrote:
> Puteti preciza exact semnificatia fiecarui camp din structura std? Am
> cam facut tema.. dar nu stiu sigur ce semnificatie are fiecare camp din
> cei definiti in sci.h:
> struct std {
> void **st; /* service table */ -> aici e clar
> int *ct; /* counter table */ -> aici sa inteleg ca e vb de
> nr. tabelei (0-3) ?
nu, e vorba de un contor de apeluri; poti sa-l pui pe NULL; nu e folosit
> int ls; /* last service no */ -> aici e clar
vezi ca nu e indexul ultimului serviciu, ci numarul de apeluri valide
> unsigned char *spt; /* service parameter table */ -> aici nu stiu
> cu cat trebuie initializat
> };
>
spt - service parameter table - este un vector de dimensiune std.ls;
fiecare element contine numarul de octeti ocupat de parametrii apelului
asociat; altfel spus pe pozitia 0 a vectorului spt se gaseste spatiul
ocupat (numar de octeti) de parametrii apelului de sistem cu indexul 0;
pe Windows este nevoie de asa ceva din cauza faptului ca exista un numar
mare de parametri ai apelurilor de sistem si nu pot fi transmisi prin
registre
nici sursele nu sunt foarte "enlighting", dar pot oferi o noua
perspectiva :-)
http://cs.pub.ro/~pso/lxr/source/base/ntos/inc/ke.h?v=wrk-1.2#579
Razvan
More information about the pso
mailing list