PopBuildDeviceNotifyList

VOID __stdcall PopBuildDeviceNotifyList(_PO_DEVICE_NOTIFY_ORDER *Order){
  __int128 DeferredContext; 
  __int64 v3; 
  _KTIMER Timer; 
  _KDPC Dpc; 

  memset(&Dpc, 0i64, sizeof(Dpc));
  v3 = 0i64;
  DeferredContext = 0i64;
  memset(&Timer, 0i64, sizeof(Timer));
  KeInitializeEvent((INT64)&DeferredContext, 1, 0);
  KeInitializeTimerEx((INT64)&Timer, 0);
  KeInitializeDpc(&Dpc, PopBuildDeviceNotifyListWatchdog, &DeferredContext);
  if( (_DWORD)PopWatchdogSleepTimeout )
    KiSetTimerEx(&Timer, (_LARGE_INTEGER)(-10000000i64 * (int)PopWatchdogSleepTimeout), 0i64, 0, &Dpc);
  PopDiagTraceEventNoPayload(&POP_ETW_EVENT_BUILDNOTIFYLIST);
  IoBuildPoDeviceNotifyList(Order);
  PopDiagTraceEventNoPayload(&POP_ETW_EVENT_BUILDNOTIFYLIST_END);
  if( (_DWORD)PopWatchdogSleepTimeout )
  {
    if( !(unsigned __int8)KeCancelTimer((INT64)&Timer) )
      KeWaitForSingleObject((UINT64)&DeferredContext, 0, 0, 0, 0i64);
  }
}

Referenced by:

PoInitializeBroadcast
PopGracefulShutdown