On 11 Mar 98 at 13:53, > wrote:
> Udvozlet Mindenkinek !
Szia!
> Egy kis segitseg kellene. Dos ala kellene device drivert irnom.
> Tudna valaki segiteni nekem. Valami leirassal vagy mintapeldaval.
Rovid mintapeldam eppen nincs, de nem nagyon bonyolult (legalabbis
asm-bol):
A dos device driver-ek 0-as kezdocimu bin file-ok, exe-bol az exe2bin
utility tud ilyet csinalni. Az exe-t persze 0-as kezdocimure kell
csinalni (asm-ben: org 0). Az elejen van egy header:
dword 0ffffffffh ; itt lesz a pointer a kov. driver-re
word attrib
word offset strategy
word offset interrupt
es meg ha character device:
byte 'device-n' ; 8 byte-os device nev
ha pedig block device:
byte drives
byte 7 dup (0)
Az attrib 8000-es bitje mondja meg, hogy char/block device-e az
illeto (1/0). A tobbi bit attol fugg, hogy melyikrol van szo.
Reszletesebben olvasd el pl. a Ralph Brown fele Interrupt List-ben,
keress ra arra a stringre, hogy 'device driver header'.
(Az Interrupt List egy sok megabyte-os szovegfile, tobb zip-re osztva
megtalalod nagyon sok ftp helyen, inter*.zip neveken, a verzioszam
van a *-ban, meg egy betu, ami a-tol nem is tudom meddig megy most.
FTP helyeken a magyar anonymous-szal (http://anonymous.njszki.hu/),
vagy a norveg ftpsearch-csel (http://ftpsearch.ntnu.no/ftpsearch)
tudsz keresni.)
Eloszor meghivodik a strategy rutin, (aminek a cime a header-ben
van), es ekkor az es:bx regiszterek mutatnak a request header-re. Ezt
a pointert el kell menteni, es return-olni retf (far ret)-tel. Ez
utan meghivodik az interrupt rutin, ennek nincs parametere, az elozo
pointer mutat a parancsra. Annak is az intrlst-ben tudsz utanajarni,
keress ra arra, hogy 'device driver request header'.
Boot-olaskor a dos eloszor INIT paranccsal (0-as command code a
request header 2-es offset-jen) hivja meg a strategy majd interrupt
rutinokat, ekkor a 12h-s (hexa 12) offseten van egy far pointer a
config.sys sor device= mogotti reszevel (a sor nagybetusitve van
sajnos), a string elejen ott van a file neve is! A string veget 0ah
sorvegjel jelzi.
Visszatereskor ki kell tolteni sok mindent a request header-ben (lasd
intrlst), tobbek kozott azt, hogy milyen hosszu a rezidens resze a
driver-nek (pontosabban a vegenek a far cimet kell odarakni).
A strategy meg interrupt rutinok nem ronthatnak el egy regisztert sem
(csak a flag-et. Apropo, vigyazz, nehogy bejovetelkor std legyen!!
Legjobb kiadni eleve egy cld-t, ha hasznalsz kesobb rep-es utasitast).
Kesobbiekben ha pl. character device-rol van szo (tehat ami nem egy
disk drive), akkor aki megnyitja open-nel a device-ot, az olvashat
irhat bele a file-os read es write int21-ekkel (illetve megfelelo C
fuggvenyekkel), akkor olyan request-et kap a driver, aminek a
parancsa INPUT illetve OUTPUT. Van ezen kivul egy csomo mas parancs
is, olvasd el az intrlst-ben ;)
Ha valami nem ertheto, szolj.
István
-- Istvan Marosi -- http://www.sch.bme.hu/~marosi --
-- Recosoft Ltd. -- mailto: --
|
Hello,
Shortcut-ot, azaz .lnk filet szeretnek letrehozni windowsban.
Csakhogy a helpben a Shell Links cimszo alatt megadott szornyu
peldaprogramot nem sikerult leforditanom. Nehany hibat
kijavitottam benne, de a
'lpVtbl' : is not a member of 'IShellLinkA'
uzenettel mar nem tudtam mit kezdeni.
Egyebkent egy hivatkozast kene betenni a Start|Programs -ba egy
install program kereteben.
Tamas
|
> Van egy par _int64 -es globalis valtozom a programomban. Az egyik osztalyon
> belul siman el tudom erni ezeket a globalis valtozokat, de egy masik osztalyo
n
> belul nem. Vagyis elerem, tudok dolgozni is veluk,de ugy osszekutyul valamit
Pontosan. A VisualC++ linkernek megvannak a sajatossagai. Egyes szavak
hasznalta eseten (a project meretetol fuggoen) baromsagokat csinal.
A kovetkezok biztosan veszelyesek:
enabled
disabled
list
...es _int64 :)
Egyszeruen probald mondjuk _int64 helyett _InT64-nek hivni, fordisd
ujra az egeszet, s nezd meg az eredmenyt.
Gabor Legrady
Software Developer
E-PUB Tel.:269-1720
ICQ UIN: 1049022
|
Hello!
_SURGOSEN_ szuksegem lenne valami _gyors_ Layer-3 dekoderre win32 ala'. Van
ugyan egy a netshow altal feltelepitett codec, ami rendben is mukodik
mindaddig, amig csak egy conversion streamet hasznalok, viszont a masodik
acmStreamOpen ACMERR_NOTPOSSIBLE-vel ter vissza. Tuti hogy a codec a szar,
mert mas formatumnal (mas codec) siman megy a dolog. Nekem viszont muszaj
egyszere akar 3-4 streamet is konvertalni + keverni, szoval szopa's a kobon.
Ha tud valaki valamilyen gyors layer-3 dekoder source-ot, ne kimeljen. Ha
portolni kell az sem akadaj.
HELP!!!!!!!!!!!!
Compi
|