IFSMgr_ReassignLockFileInst


IFSMgr_ReassignLockFileInst(
 void * pFSDLockListHead,
 void * pOldOpenFileInstance,
 void * pNewOpenFileInstance
 )

This service is provided for the FSD to activate any previously active locks for a given file instance. When the file is reopened by the IFS manager on the release of the level 3 lock, it provides an indication to the FSD that the file being reopened previously had active locks on it. In addition, the FSD is passed the pointer to the original lock list which was deactivated by calling IFSMgr_UnassignLockList previously. There is one more problem activating the lock i.e. since the open file structure as well as the open file instance structures were freed on the "virtual close", the file instance field in the lock structure could be invalid. To work around this, the IFS manager also passes in the pointer to the old file instance structure. Armed with these pieces of information, the locks for each open file instance can be reactivated and the entire lock list can thus be reconstructed.

pFSDLockListHead

Supplies a pointer to the head of the list of locks. This pointer is the same as what it was before the "virtual close" on the level 3 lock.

pOldOpenFileInstance

Supplies the old value of the file instance structure pointer.

pNewOpenFileInstance

Supplies the new value for the file instance structure pointer after the file has been reopened.