WdipSemEnableSemProvider

NTSTATUS __stdcall WdipSemEnableSemProvider(){
  int v0; 
  UINT64 v2; 
  UINT64 v3; 
  UINT64 ControlCode; 
  UINT64 ControlCodea; 
  unsigned __int64 RegHandle; 

  RegHandle = 0i64;
  LODWORD(ControlCode) = 1;
  LODWORD(v2) = 0;
  v0 = WdipSemEnableDisableTrace(
         (unsigned int)_InterlockedExchange(&WdipDiagLoggerId, WdipDiagLoggerId),
         (_GUID *)&WDI_SEM_PROVIDER,
         0,
         0x200000000ui64,
         v2,
         ControlCode);
  if( v0 >= 0 )
  {
    LODWORD(ControlCodea) = 1;
    LODWORD(v3) = 0;
    v0 = WdipSemEnableDisableTrace(
           (unsigned int)_InterlockedExchange(&WdipContextLoggerId, WdipContextLoggerId),
           (_GUID *)&WDI_SEM_PROVIDER,
           0,
           0x100000000ui64,
           v3,
           ControlCodea);
    if( v0 >= 0 && !*(&ExBootDevicesRemovedEvent + 560) )
    {
      v0 = (unsigned int)EtwRegister((_LPCGUID)&WDI_SEM_PROVIDER, 0i64, 0i64, &RegHandle);
      if( v0 >= 0 )
        *(&ExBootDevicesRemovedEvent + 560) = RegHandle;
    }
  }
  return v0;
}

Referenced by:

WdipSemCleanStart