IFSMgr_UnlockFile


IFSMgr_UnlockFile(
 void ** ppFSDLockListHead,
 unsigned long LockOffset,
 unsigned long LockLength,
 unsigned long LockOwner,
 void * pOpenFileInstance,
 unsigned long fLockSemantics
 )

This service unlocks a previously locked region of an open file. The offset and the length of the region to be unlocked should correspond exactly to a previously locked region. This is true even in the case where there are overlapping locks. The IFS manager just walks the list of locks on the file and sees if it finds a match with one of them. If it does, it frees that lock entry from the list.

ppFSDLockListHead

Supplies a pointer to a variable that contains the pointer to the list of locks.

LockOffset

Supplies the starting offset in the file of the region to be locked.

LockLength

Supplies the length of region in the file to be locked.

LockOwner

Supplies the process id of the process requesting the lock.

pOpenFileInstance

Supplies a pointer to the structure that describes the current open file instance.

fLockSemantics

Supplies flags indicating what kind of locking semantics are operative.

Lock Semantics Flags:

Value

Meaning

LOCKF_DOS

Indicates that DOS semantics are to be applied for the lock request.

LOCKF_NW

Indicate that Netware semantics are to be applied for the lock request.

LOCKF_RD

Indicates that a read lock should be taken. This value is allowed only with LOCKF_NW. DOS semantics do not have the concept of a read lock.

LOCKF_WR

Indicates that a write lock should be taken.


ppFSDLockListHead

The lock list head stored in this variable might have been updated.