Stran 15 od 18

DelphiSiWin32

Objavljeno: 16.01.2008 08:04:44
Napisal/-a gabr
Nadvse hvala. Bom vključil v DSiWin32.

Gp

DelphiSiWin32

Objavljeno: 16.01.2008 12:47:28
Napisal/-a gabr
Hm.

Ta tvoja koda je identična tisti, vključeni v DSiWin32, za katero sem dobil report, da ne dela :((

Gp

DelphiSiWin32

Objavljeno: 16.01.2008 12:54:17
Napisal/-a gabr
Zdaj sem ugotovil, da je tudi JclSecurity.IsAdministrator identičen.

Po moje je problem v premajhnem bufferju. Help za GetTokenInformation pravi:
ReturnLength
[out] Pointer to a variable that receives the number of bytes needed for the buffer pointed to by the TokenInformation parameter. If this value is larger than the value specified in the TokenInformationLength parameter, the function fails and stores no data in the buffer.
Bom predelal na dinamičen buffer. Mogoče bo pomagalo. V JclSecurity je buffer že sedaj rešen dinamično in to je edina razlika med njihovo kodo in mojo.

Gp

DelphiSiWin32

Objavljeno: 16.01.2008 13:05:18
Napisal/-a aoven
Ni ravno identično. V Runnerjevem primeru ni tegale checka, ki pa v DSi implementaciji je:

Koda: Izberi vse

if ((groups.Groups[iGroup].Attributes and SE_GROUP_ENABLED) = SE_GROUP_ENABLED) and
Aleksander

DelphiSiWin32

Objavljeno: 16.01.2008 13:12:44
Napisal/-a gabr
Hm, imaš prav. Tudi v JclSecurity ni tega checka.

Zanimivo.

Zdaj sem našel enega kolega, ki je local admin v domeni in bo preizkusil mojo novo verzijo.

Gp

DelphiSiWin32

Objavljeno: 16.01.2008 14:14:51
Napisal/-a gabr
Pravi kolega, da moja verzija - s preverjanjem SE_GROUP_ENABLE - dela OK na njegovem local_admin_v_domeni računu.

Gp

DelphiSiWin32

Objavljeno: 16.01.2008 15:14:00
Napisal/-a aoven
Heh, kaj boš pa zdaj? :)

Aleksander

DelphiSiWin32

Objavljeno: 16.01.2008 15:26:01
Napisal/-a gabr
Pravi drugi kolega, da moja verzija ne dela na njegovi mašini, ki je hkrati local admin in domain admin. Tako da bova z njim nekako razvozlala zadevo, pa bo.

Gp

DelphiSiWin32

Objavljeno: 16.01.2008 16:58:30
Napisal/-a Runner
Šele zdajle vidim da ste že v vroči debati :) Sploh nisem vedel da je koda skoraj identična (nisem šel včeraj gledat v DSi). Jaz sem tole kodo uporabljal v par programih in do sedaj nisem opazil kakšnih problemov (kar še ne pomeni da jih ni bilo).

A je ta kolega, ki je javil napako preveril mojo kodo če mu deluje pravilno? Meni je namreč včeraj test deloval uspešno. Kje bi bila lahko napaka pa še nisem šel preverjat. Mogoče se zvečer malo bolj potopim v problem če bom imel kaj časa.

DelphiSiWin32

Objavljeno: 16.01.2008 17:37:05
Napisal/-a gabr
Ja, problem je natanko v testu za SE_GROUP_ENABLE, ki ga tvoja koda - enako kot tista iz JclSecurity - nima. Več pa še ne vem.

Gp