WdipSemUpdateProviderTableWithScenario

NTSTATUS __stdcall WdipSemUpdateProviderTableWithScenario(_WDIP_SEM_SCENARIO_INFO *Scenario){
  NTSTATUS result; 
  __int64 v3; 
  __int64 i; 

  if( !Scenario )
    return -1073741811;
  result = WdipSemUpdateProviderTableWithEvent((_GUID *)Scenario);
  if( result >= 0 )
  {
    v3 = 0i64;
    if( Scenario[12] )
    {
      while( 1 )
      {
        result = WdipSemUpdateProviderTableWithEvent(*(_GUID **)&Scenario[2 * v3 + 14]);
        if( result < 0 )
          break;
        v3 = (unsigned int)(v3 + 1);
        if( (unsigned int)v3 >= Scenario[12] )
          goto LABEL_4;
      }
    }
    else
    {
LABEL_4:
      for( i = 0i64; (unsigned int)i < Scenario[13]; i = (unsigned int)(i + 1) )
      {
        result = WdipSemUpdateProviderTableWithEvent(*(_GUID **)&Scenario[2 * i + 262]);
        if( result < 0 )
          break;
      }
    }
  }
  return result;
}

Referenced by:

WdipSemLoadScenarioTable