Entwickler-Ecke

Windows API - Sperren von Laufwerken unter Win9x


BenBE - Mo 24.10.05 11:40
Titel: Sperren von Laufwerken unter Win9x
In der DP habe ich folgenden Thread gefunden: http://www.delphipraxis.net/topic40776_laufwerk+sperren.html

Da IOCTL-Befehle aber AFAIK erst ab WinNT laufen, funktioniert die genannte Funktion unter Win9x nicht.

Im MSDN hab ich den folgenden Interrupt-Aufruf gefunden: http://msdn.microsoft.com/archive/en-us/win9x/95func_9lm0.asp Aufheben mit http://msdn.microsoft.com/archive/en-us/win9x/95func_9rxk.asp

Was muss ich beim Aufruf der Funktion beachten?

Soweit ich das MSDN verstehe sieht das folgendermaßen aus:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
asm
    mov ax, $440D        //generic IOCTL
    mov bh, LockLevel    //0,1,2,3 - Lock Level; Nur was macht davon welcher?
    mov bl, DriveNum     //Laufwerksbuchstabe: 0 = Default Drive, 1..26 => A..Z
    mov ch, $08          //device category (must be 08h)
    mov cl, $4A          //Lock Logical Volume
    mov dx, Permissions  //Permissions \ Device Sharing; kA wie die zu verstehen sind
    int $21

    setnc al             //Erfolg als Boolean in AL zurückgeben
    movzx eax, al
end;


TIA für Informationen bzw. Umsetzungen dieses Aufrufs.


jaenicke - Mi 26.10.05 09:26

Welche Laufwerke möchtest du denn eigentlich sperren? Nur CD-Laufwerke? Festplatten?