Entwickler-Ecke

Dateizugriff - "Lock" Sperre des Laufwerkes ausschalten ?


Planschi69 - So 13.03.05 12:56
Titel: "Lock" Sperre des Laufwerkes ausschalten ?
HI !

Habe ein Konsolenprogramm für DOS unter WIN 98
Im Programmm wird ASM- Code mit INT 21h zum Lesen bzw Schreiben von Logischen Sectoren der Festplatte benutzt.

Das Problem:
Lesen funktioniert aber beim Schreibzugriff kommt Fehlermeldung vom Sustem daß ein älteren Programm auf unterer ebene zugreifen will --> Vorgang wird nur mit Lesezugriff fortgesetzt

Kann zwar Sperre mit "LOCK" per Dos Befehl die Sperre aufheben aber da kommt immer die lästige Meldung mit Bestätigung "ACHTUNG wenn Sie j drücken können Daten geschädigt bzw zerstört werden "

Nun die Frage::------------
Wie kann man das anders machen ?
-Ein ASM- Code ???
-Einanderer Befehl für "LOCK" bzw "UNLOCK" ???
-oder ganz anders ???
Es muß aber auf Dos - Ebene funktionieren !

Tschaui...


NeoInDerMATRIX - Mo 14.03.05 23:34

Hi,

um den Int $21 unter dos nutzen zu können must du ihn erst mit dem "look" befehl das Low-Level Schreiben erlauben. In der MS-Sdk steht wie das per API geht. Da Windows ab Win9x den Low-Level zugriff nicht erlauben MÖCHTE!

Hoffe das ich dir helfen konnte!

Cu
Neo

/Edit: Ups habe das mit dem ASM übersehen! Muss ich mal in meinen alten sources gucken ob ich das noch finde! Obwohl Win32-Consolen anwendungen dieses Problem nicht mehr haben dürften!

Schau mal unter http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win9x/95func_9lns.asp ob das weiter hilft.


Planschi69 - Sa 19.03.05 15:50

user profile iconNeo_in_der_MATRIX hat folgendes geschrieben:
Hi,

um den Int $21 unter dos nutzen zu können must du ihn erst mit dem "look" befehl das Low-Level Schreiben erlauben. In der MS-Sdk steht wie das per API geht. Da Windows ab Win9x den Low-Level zugriff nicht erlauben MÖCHTE!

Hoffe das ich dir helfen konnte!

Cu
Neo

/Edit: Ups habe das mit dem ASM übersehen! Muss ich mal in meinen alten sources gucken ob ich das noch finde! Obwohl Win32-Consolen anwendungen dieses Problem nicht mehr haben dürften!

Schau mal unter http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win9x/95func_9lns.asp ob das weiter hilft.





Dank dir Neo

Dein Link ist Spitze
Werd es ausprobieren und weiter sehn !!