WmipEventNotification

VOID __fastcall WmipEventNotification(VOID *Context){
  LIST_ENTRY *v1; 
  WNODE_HEADER *Blink; 
  ULONG ClientContext; 
  INT64 Flink; 
  do
  {
    v1 = ExInterlockedRemoveHeadList(&WmipNPEvent, &WmipNPNotificationSpinlock);
    Blink = (WNODE_HEADER *)v1[1].Blink;
    ClientContext = Blink->ClientContext;
    Blink->ClientContext = 0;
    Blink->Linkage = 0;
    Blink->Version = ClientContext;
    WmipProcessEvent(Blink, 0, 1u);
    Flink = (INT64)v1[1].Flink;
    if( Flink )
      WmipUnreferenceRegEntry(Flink);
    ExFreePoolWithTag(v1, 0);
  }
  while( _InterlockedExchangeAdd(&WmipEventWorkItems, 0xFFFFFFFF) != 1 );
}

Referenced by:

No references.