WmiQueryTraceProviderCount
INT64 __fastcall WmiQueryTraceProviderCount(UINT64 TraceClass){
unsigned int v1;
UINT64 v2;
int *v3;
unsigned __int8 v4;
unsigned __int64 v5;
v1 = 0;
KeWaitForSingleObject(&WmipSMMutex, Executive, 0, 0, 0i64);
KeAcquireSpinLockRaiseToDpc(&WmipRegistrationSpinLock, v2);
v3 = (int *)WmipInUseRegEntryHead;
v5 = v4;
while( v3 != (int *)&WmipInUseRegEntryHead )
{
if( ((v3[12] >> 4) & 0x400000) != 0 && (v3[12] & 0x40000000) != 0 && *((_QWORD *)v3 + 2) )
++v1;
v3 = *(int **)v3;
}
KxReleaseSpinLock(&WmipRegistrationSpinLock);
__writecr8(v5);
KeReleaseMutex(&WmipSMMutex, 0);
return v1;
}Referenced by:
EtwpUpdateFileInfoDriverState