MiDereferenceSubsectionProtos
VOID __stdcall MiDereferenceSubsectionProtos(_SUBSECTION *Subsection, UINT64 a2, _MI_PER_SESSION_PROTOS **a3){
_MI_PER_SESSION_PROTOS *SessionProtosInSubsection;
_CONTROL_AREA **v6;
_MI_PER_SESSION_PROTOS *v7;
if( (Subsection->u.SubsectionFlags._bf_2 & 2) != 0 )
{
SessionProtosInSubsection = MiLocateSessionProtosInSubsection(Subsection, a2);
v7 = SessionProtosInSubsection;
if( SessionProtosInSubsection->u2.ReferenceCount-- == 1 )
{
MiUpdatePerSessionProto(*v6, Subsection, SessionProtosInSubsection, 0i64);
v7->u2.ReferenceCount = Subsection->PtesInSubsection;
v7->SessionProtoNode.Children[0] = (_RTL_BALANCED_NODE *)*a3;
v7->Subsection = Subsection;
*a3 = v7;
}
}
}Referenced by:
MiCreatePerSessionProtos
MiDereferencePerSessionProtos