FsRtlpClearOwner
VOID __stdcall FsRtlpClearOwner(_NONOPAQUE_OPLOCK *Oplock, _RH_OP_CONTEXT *RHOpContext){
_ETHREAD *OplockOwnerThread;
if( RHOpContext )
{
OplockOwnerThread = RHOpContext->OplockOwnerThread;
RHOpContext->OplockOwnerThread = 0i64;
RHOpContext->OplockRequestProcess = 0i64;
}
else
{
OplockOwnerThread = Oplock->ExclusiveOplockOwnerThread;
Oplock->ExclusiveOplockOwnerThread = 0i64;
Oplock->ExclusiveOplockOwner = 0i64;
}
if( OplockOwnerThread )
ObDereferenceObjectDeferDeleteWithTag((UINT64)OplockOwnerThread, 1953261124i64);
}Referenced by:
FsRtlCheckOplockEx2
FsRtlUninitializeOplock
FsRtlpAcknowledgeOplockBreak
FsRtlpAcknowledgeOplockBreakByCacheFlags
FsRtlpCancelExclusiveIrp
FsRtlpOpBatchBreakClosePending
FsRtlpOplockBreakByCacheFlags
FsRtlpOplockBreakToII
FsRtlpOplockBreakToNone
FsRtlpOplockCleanup
FsRtlpOplockFsctrlInternal
FsRtlpRemoveAndBreakRHIrp
FsRtlpRemoveAndCompleteRHIrp
FsRtlpRequestExclusiveOplock
FsRtlpRequestShareableOplock