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.