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, that is, 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.