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