ASSERT(HandleTable);
- ExAcquireHandleTableLockShared(HandleTable);
HandleTableEntry = ExpLookupHandleTableEntry(HandleTable,
Handle);
if (HandleTableEntry != NULL && ExLockHandleTableEntry(HandleTable, HandleTableEntry))
{
DPRINT("ExMapHandleToPointer HT:0x%p Entry:0x%p locked\n", HandleTable, HandleTableEntry);
- ExReleaseHandleTableLock(HandleTable);
return HandleTableEntry;
}
- ExReleaseHandleTableLock(HandleTable);
+
return NULL;
}
ASSERT(ChangeHandleCallback);
KeEnterCriticalRegion();
- ExAcquireHandleTableLockShared(HandleTable);
HandleTableEntry = ExpLookupHandleTableEntry(HandleTable,
Handle);
if(HandleTableEntry != NULL && ExLockHandleTableEntry(HandleTable, HandleTableEntry))
{
- ExReleaseHandleTableLock(HandleTable);
Ret = ChangeHandleCallback(HandleTable,
HandleTableEntry,
NULL);
ExUnlockHandleTableEntry(HandleTable,
HandleTableEntry);
}
- else
- {
- ExReleaseHandleTableLock(HandleTable);
- }
+
KeLeaveCriticalRegion();
return Ret;