PopPdcUpdateDeviceCompliance
VOID __stdcall PopPdcUpdateDeviceCompliance(){
void **v0;
PO_CS_DEVICE_NOTIFICATION_TYPE v1;
int v2;
int v3;
int v4;
int v5;
bool v6;
int *v7;
int v8;
v0 = (void **)PopPdcDeviceList;
v1 = PoCsDeviceNotificationStorage;
v2 = 0;
v3 = 0;
while( v0 != &PopPdcDeviceList )
{
v4 = *((_DWORD *)v0 + 6);
v5 = v2;
v3 |= 1 << v4;
v2 |= 1 << v4;
v6 = *((_BYTE *)v0 + 32) == 0;
v0 = (void **)*v0;
if( v6 )
v2 = v5;
}
PopAcquirePolicyLock();
v7 = PopCsDeviceCompliance;
do
{
if( ((1 << v1) & v2) != 0 )
v8 = 1;
else
v8 = -((v3 & (1 << v1)) != 0);
if( v8 != *v7 )
{
*v7 = v8;
PopDiagTraceDeviceComplianceUpdate(v1, (POP_CS_DEVICE_COMPLIANCE)v8);
}
++v1;
++v7;
}
while( (unsigned int)v1 < PoCsDeviceNotificationMaximum );
PopReleasePolicyLock();
}Referenced by:
PopPdcCsDeviceNotification