PipDeviceObjectListIndexOf

VOID __stdcall PipDeviceObjectListIndexOf(
        GUID *SourceId,
        UINT64 ControlCode,
        UINT8 Level,
        UINT64 MatchAnyKeyword,
        UINT64 MatchAllKeyword,
        EVENT_FILTER_DESCRIPTOR *FilterData,
        PVOID CallbackContext){
  int v7; 
  GUID *v8; 
  v7 = 0;
  if( (int)Level <= 0 )
  {
LABEL_5:
    if( MatchAnyKeyword )
      *(_QWORD *)MatchAnyKeyword = 0i64;
  }
  else
  {
    v8 = SourceId + 1;
    while( ControlCode != *(_QWORD *)&v8->Data1 )
    {
      ++v7;
      v8 = (GUID *)((char *)v8 + 24);
      if( v7 >= Level )
        goto LABEL_5;
    }
    if( MatchAnyKeyword )
      *(_QWORD *)MatchAnyKeyword = (char *)SourceId + 24 * v7 + 16;
  }
}

Referenced by:

IopMergeRelationLists