PipDependencyCopyEdge

NTSTATUS __stdcall PipDependencyCopyEdge(PNP_DEPENDENCY_EDGE *Edge, PNP_DEPENDENCY_NODE *NewProvider){
  PNP_DEPENDENCY_EDGE *v2; 
  PNP_DEPENDENCY_EDGE *v4; 
  NTSTATUS result; 
  PNP_DEPENDENCY_EDGE *v7; 

  v2 = Edge + 14;
  v4 = (PNP_DEPENDENCY_EDGE *)*((_QWORD *)Edge + 7);
  for( result = 0;
        result >= 0;
        result = PipAddDependencyEdgeBetweenNodes(*((PNP_DEPENDENCY_NODE **)Edge + 5), NewProvider, v7 + 4) )
  {
    if( v4 == v2 )
      break;
    v7 = v4;
    v4 = *(PNP_DEPENDENCY_EDGE **)v4;
  }
  return result;
}

Referenced by:

IoDuplicateDependency