Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: Delphi NT/2000/XP assy CLI / STI

Sivun loppuun

hsimola [09.01.2003 10:20:38]

#

Osaako kukaan neuvoa miten tosta Priviledge Instruction virheilmoituksesta pääsee eroon otsikon Windowssissa.

CLI / STI assy käskyt sen aiheuttaa.

thefox [09.01.2003 16:35:27]

#

Ei mitenkään, noiden komentojen käyttö onnistuu vain ring-0:ssa. Vaikea noille kyllä Windows ohjelmissa on käyttöäkään keksiä.

hsimola [10.01.2003 06:25:50]

#

Eikös kuitenkin 95/98:ssa toimi nuo käskyt.

progo [10.01.2003 15:07:23]

#

Ei todennäköisesti.. :) vaikka olenkin kuullut noista jossain ?

tomaattigeeni [10.01.2003 18:43:09]

#

No jos nuo käskyt - vai mitä onkaan, toimisi win9x:ssä niin ei niitä kannata käyttää, jos ne eivät kuitenkaan toimisi uudemmissa Windowseissa, ME, 2k ja XP myyvät (ja warettavat) kuitenkin tällä hetkellä eniten. Ellet sitten vain omaan käyttöösi ole softaa kehittämässä.

thefox [12.01.2003 09:28:48]

#

Kyllähän ne 9x:ssä toimivat jos pykäät VxD:n tai muuten hankit itsesi ring-0:aan ("normaalistihan" ohjelmat pyörivät rajoitetussa ring-3:ssa). Ja toimivathan ne toki myös 2k:ssa ja XP:ssä KMD:n avulla.. tai ainakin pitäisi toimia.
Käytännössä noiden kanssa ei kuitenkaan tarvitse leikkiä. Niin tosiaan, kyse on keskeytysten enabloimisesta/disabloimisesta (Set Interrupt Flag / Clear Interrupt Flag).

hsimola [13.01.2003 12:11:12]

#

Ok,

Kiitoksia, aika vähän netistä tuntuu aiheesta infoa löytyvän.

hsimola [18.01.2003 11:04:17]

#

Fawkz, voisitko antaa neuvoa noiden VxD / KMD taustoista ?

Mitä ne on ? Onko esim. imuroitavissa jostain ?

thefox [29.01.2003 14:15:52]

#

VxD on virtual device driver, eli ajureitahan ne yleensä ovat. Jos haluat moisia kehitellä pitää sinun hankkia Microsoftilta driver development kit (ddk).. en tiedä mikä noiden tilanne on 2k:n ja xp:n suhteen, mutta 98:lle se löytyy ihan ilmaiseksi.
VxD:n kanssa voit kommunikoida Win32API:n DeviceIoControl -funktion avulla.. en kuitenkaan, anteeksi nyt vaan, uskalla suositella sinua yrittämään mitään VxD-leikkejä :-)
Jos voisit hieman kertoa, mihin CLI&STI käskyjä ylipäätään tarvitset?

hsimola [30.01.2003 07:27:32]

#

Aihetta on puitu täällä ja www.mureakuha.com keskustelu palstalla.

CLI käsky ilmeisesti estää Windowsia tekemästä keskeytyksiä.

Mulla on assy koodi jolla mitataan aikaa ja se sisältää tuon CLI käskyn. 95/98/ME:ssä olen tyytyväinen koodin toimintaan (CLI-käskyt taasen sallitu).

Nyt Win NT/2000/XP:ssä pitäisi jollain päästä tuonne Ring 0:aan jotta voisi CLI käyttää.

Eli se assy softa pitäisi jollain saada esim. ajuritasolle koodattua.....näin sitä voisi ajella NT/2000/XP.

Olen kokeillut hommaa tehdä myös mitä erilaisimmilla Delphin timer komponenteilla, mutta ain törmätään siihen jotta Windowsin temput häiritsee ajanottoa.

thefox [30.01.2003 11:36:25]

#

Noh, KMD:t (kernel mode driver) ovat melkeinpä sitten se ainoa vaihtoehto.
Nt/2k/xp/me ddk ei ole ladattavissa Microsoftin sivuilta, vaan se pitää erikseen mukana. Tulee se lienee jonkun MSDN-paketinkin mukana ( http://www.microsoft.com/ddk/ ).
Simppelin KMD:n väsännee melko nopeasti, itse en kuitenkaan voi auttaa koska kokemukseni rajoittuu VxD:hin.. pitänee asentaa se w2k joskus.. ;-)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta