[Back to FILES SWAG index] [Back to Main SWAG index] [Original]
{
> Does anyone know how to lock parts of a file in pascal? I'm working on JAM
> message base support, and I need to know how to lock it (and check if it's
> locked, etc). Example code appreciated. (I have to lock the first byte of
> a file. How exactly would I go about doing this?)
}
function FLock(Lock:byte; Handle: Word; Pos,Len: LongInt): Word; Assembler;
ASM
mov AL,Lock { subfunction 0: lock region }
{ subfunction 1: unlock region }
mov AH,$5C { DOS function $5C: FLOCK }
mov BX,Handle { put FileHandle in BX }
les DX,Pos
mov CX,ES { CX:DX begin position }
les DI,Len
mov SI,ES { SI:DI length lockarea }
int $21 { Call DOS ... }
jb @End { if error then return AX }
xor AX,AX { else return 0 }
@End:
end {FLock};
[Back to FILES SWAG index] [Back to Main SWAG index] [Original]