PipDeleteDependencyNode
VOID __stdcall PipDeleteDependencyNode(_PNP_DEPENDENCY_NODE *Node){
__int64 v2;
_PNP_DEPENDENCY_NODE **v3;
__int64 v4;
_PNP_DEPENDENCY_NODE **v5;
PipDeleteBindingIds(Node);
v2 = *(_QWORD *)Node;
if( *(_PNP_DEPENDENCY_NODE **)(*(_QWORD *)Node + 8i64) != Node
|| (v3 = (_PNP_DEPENDENCY_NODE **)*((_QWORD *)Node + 1), *v3 != Node)
|| (*v3 = (_PNP_DEPENDENCY_NODE *)v2,
*(_QWORD *)(v2 + 8) = v3,
v4 = *((_QWORD *)Node + 9),
*(_PNP_DEPENDENCY_NODE **)(v4 + 8) != Node + 18)
|| (v5 = (_PNP_DEPENDENCY_NODE **)*((_QWORD *)Node + 10), *v5 != Node + 18) )
{
__fastfail(3u);
}
*v5 = (_PNP_DEPENDENCY_NODE *)v4;
*(_QWORD *)(v4 + 8) = v5;
ExFreePoolWithTag(Node, 0x53706E50u);
}Referenced by:
IoDuplicateDependency
PipDeleteAllDependencyRelations
PipDereferenceDependencyNode
PipMergeDependencyEdgeList
PipMergeDependencyNodes
PipSetDependency
PipUnlinkDeviceObjectAndDependencyNode