WmipInitializeRegistration
VOID __stdcall WmipInitializeRegistration(UINT64 Phase){
if( (_DWORD)Phase )
{
WmipRegWorkQueue.Parameter = 0i64;
WmipRegWorkQueue.WorkerRoutine = (void(__fastcall *)(void *))WmipRegistrationWorker;
WmipRegWorkQueue.List.Flink = 0i64;
if( _InterlockedExchangeAdd(&WmipRegWorkItemCount, 0xFFFFFFFF) != 1 )
ExQueueWorkItem(&WmipRegWorkQueue, DelayedWorkQueue);
}
else
{
ExInitializeNPagedLookasideListInternal((__int64)WmipRegLookaside, 0i64, 0i64, 512, 64, 1382640983, 0, 0);
WmipRegistrationSpinLock = 0i64;
WmipCancelSpinLock = 0i64;
}
}Referenced by:
WMIInitialize
WmipDriverEntry